将 nvarchar 值 'null' 转换成数据类型 smallint 时失败。
时间: 2023-06-03 22:02:15 浏览: 120
这个问题的原因可能是将一个字符串 "null" 转换成一个整数类型时发生的类型不匹配错误。您可以尝试使用 NULLIF 函数来处理字符串 "null",将其转换为 NULL 值,然后再进行类型转换。例如:
SELECT CONVERT(smallint, NULLIF('null', ''))
```
相关问题
在将 nvarchar 值 '' 转换成数据类型 int 时失败
这是因为你试图将一个空字符串''转换为整数,而空字符串不能转换为整数。如果你想将空字符串视为0,可以使用以下代码:
```SELECT ISNULL(NULLIF('', ''), 0)```
这将返回0作为整数值。但是请注意,这只适用于空字符串,如果你尝试将包含非数字字符的字符串转换为整数,仍然会失败。
在将 nvarchar 值 '19*2' 转换成数据类型 int 时失败
这是因为 '19*2' 包含一个非数字字符 '*',因此无法将其转换为整数。如果你想将 '19*2' 中的数字计算出结果,可以使用以下代码:
```SELECT 19 * 2```
这将返回结果为38的整数值。但是如果你确实需要将 '19*2' 转换为整数类型,你可以使用 TRY_CONVERT 函数来尝试转换,如果无法转换,它将返回 NULL。以下是一个示例:
```SELECT TRY_CONVERT(int, '19*2')```
这将返回 NULL。