我有以下SELECT
语句来计算RADIANS
和COS
。SQL Server:错误转换数据类型varchar浮动
SELECT COS(RADIANS(latitude)) as Lat
FROM tbl_geometry;
但我发现了一个错误:
Error converting data type varchar to float.
我尝试:
尝试#1:
select Cos(convert(float, (Radians(convert(float, latitude))))) as Lat
from tbl_geometry;
尝试#2。
select Cos(Radians(convert(float, latitude))) as Lat
from tbl_geometry;
两次尝试都会导致相同的错误。
备注:列Latitude
的类型为varchar
。
似乎喜欢您的纬度列包含无效的浮点数据。 – jarlh
@jarlh,是的,你是对的!我在该列中有一些无效的数据,这是因为它是'varchar'类型,它包含'NULL,abc'等。如何克服这个问题? – MAK
“克服”这种最好的方法是当你需要浮动信息时停止使用varchar数据类型。如果NULL导致你的问题,你应该使列不能为空。如果你正确地构建你的数据结构,返回信息是非常容易的。 –