我有以下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導致你的問題,你應該使列不能爲空。如果你正確地構建你的數據結構,返回信息是非常容易的。 –