我有varchar
格式的专栏,我想将其转换为float
。值如下:
188234,62
188235
188235,43
188235,88
所以,当我尝试转换它时,我收到一个错误:
Error converting data type varchar to float.
我认为可能某些字段不是数字,我使用isnumeric()
函数检查,根据查询我得出的结论是所有值都是数字。然后我尝试了不同的查询来转换字段类型:
查询1:
SELECT CarData.dbo.FinalData_OilLevel_new_send.KM
CASE WHEN ISNUMERIC(CarData.dbo.FinalData_OilLevel_new_send.KM) = 1
THEN CAST(CarData.dbo.FinalData_OilLevel_new_send.KM AS FLOAT)
ELSE NULL
END
FROM CarData.dbo.FinalData_OilLevel_new_send
QUERY2:
SELECT CASE ISNUMERIC(KM) WHEN 1 THEN CONVERT(float, KM)) ELSE null END from CarData.dbo.FinalData_OilLevel_new_send
但是我总是得到同样的错误。还有其他方法可以将varchar
转换为float
吗?