在将 nvarchar 值 '19*20镀锌' 转换成数据类型 int 时失败
时间: 2024-03-11 17:50:04 浏览: 58
从数据类型 nvarchar 转换为 numeric 时出错.pdf
这是因为 '19*20镀锌' 包含非数字字符 '*' 和中文字符 '镀锌',因此无法将其转换为整数。根据这个字符串的格式,它看起来像是一个包含长度、宽度和材料的规格描述,而不是一个整数。
如果你需要将这个字符串中的数字提取出来,你可以使用以下代码:
```SELECT SUBSTRING('19*20镀锌', 1, CHARINDEX('*', '19*20镀锌')-1)```
这将返回一个子字符串 '19',它是原始字符串中 '*' 前面的数字。如果你需要将这个子字符串转换为整数,你可以使用以下代码:
```SELECT CONVERT(int, SUBSTRING('19*20镀锌', 1, CHARINDEX('*', '19*20镀锌')-1))```
这将返回整数值 19。请注意,这种方法仅适用于包含类似规格描述的字符串,而不适用于其他格式的字符串。
阅读全文