我有一个nvarchar列,其中包含一些条目列表(包括NULL) –
-1.00000 0.000000 0.010000 0.100000 0.500000 00000000 1.000000 1.500000 10.00000 10.50000 100.0000 1000.000 1001.000 1006.000 NULL NULL
我想将其转换为数字字段,以便我可以使用此字段进行一些计算.但是,我收到以下错误信息 –
Error converting data type nvarchar to float.
有人可以帮忙吗?
解决方法
您的数据似乎具有值无效的数值.使用try_convert():
select try_convert(numeric(38,12),col)
如果转换失败,这将返回NULL.
您可以通过执行以下操作找到转换失败的值:
select col from t where try_convert(numeric(38,col) is null and col is not null;
您需要在将列引用为数字的任何位置使用try_convert(). select中的转换仅适用于select.