我将表A插入表B.有问题的列看起来像-$25.2
。我首先替换了$
并尝试insert
。得到此错误SQL Server - 将数据类型nvarchar转换为浮点数的错误
将数据类型nvarchar转换为float时出错。
我再由
SELECT *
FROM B
WHERE ISNUMERIC([Col Name]) <> 1
检查并没有返回结果。
这很奇怪。它应该返回一些东西。
接下来应该检查什么?
我也尝试过类似
CAST(REPLACE([Col Name], '-$', '') AS FLOAT)
请勿使用ISNUMERIC()。 $,。,,, - ,+全部返回为1,即使没有数字。 Try_Parse更好 – dfundako
@dfundako:'Try_Parse'不幸的是在SQL Server ** 2008中不可用** ...这是** 2012 **中的一项新功能... –