SELECT CAST([Revenue Size (M)] AS float)
FROM Raw_Data A
WHERE ISNUMERIC([Revenue Size (M)]) = 1
我得到一个错误:
Error converting data type nvarchar to float
收入规模 (M) 样本: 7371 ,7372 ,4899 ,59.5 ,1.4 ,2 ,3400
最佳答案
有多个示例,其中 isnumeric()
返回 1
但该值无法转换为 float 。四个例子是:
'.'
'-'
'-.'
'$1'
您可以在 this SQL Fiddle 中看到这个.
更好的做法是使用 try_cast()
:
SELECT TRY_CAST([Revenue Size (M)] AS float)
FROM Raw_Data A
WHERE TRY_CAST([Revenue Size (M)] AS float) IS NOT NULL;
关于sql - 为什么在我使用 ISNUMERIC() 时转换失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68434883/