我有一个字段中有数字的表格varchar(255)
。它们都大于一并且有多个小数位。我想将它们转换为整数。根据我咨询过的每个网站,包括StackOverflow 上的这个网站,其中任何一个都应该可以工作:
SELECT CAST(VarcharCol AS INT) FROM MyTable
SELECT CONVERT(INT, VarcharCol) FROM MyTable
这些对我来说都适用于各种数值,但是integer
- 我可以转换为float
,decimal
等就好了,但尝试转换为integer
给我以下错误:
Conversion failed when converting the varchar value '7082.7758172'
to data type int.
我通过转换为 data type 解决了这个问题Decimal(6,0)
,效果很好。但只是为了我的教育,谁能告诉我为什么转换为数据类型int
(或integer
)会给我一个错误?谢谢。