在MSSQL Server中将nvarchar转换为数字

前端之家收集整理的这篇文章主要介绍了在MSSQL Server中将nvarchar转换为数字前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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.

原文链接:https://www.f2er.com/mssql/75010.html

猜你在找的MsSQL相关文章