0
用我正在構建的Store Locator處理此問題。 Radians函數在執行SELECT RADIANS(47)時返回一個零(0),但在執行SELECT RADIANS(47.0)時返回0.83 ...。SELECT RADIANS(47)vs SELECT RADIANS(47.0)
結束結果導致sql語句計算的距離爲零(0)。
- 操作系統名稱微軟(R)的Windows(R)Server 2003標準x64版
- 版本5.2.3790 Service Pack 2的構建3790
- 系統模型的VMware虛擬平臺:我下面的系統上運行
- 系統類型基於x64的PC
- 的SQL Server的Microsoft SQL Server 2005
下面是我使用的弧度functi的SQL語句與...一起。
SELECT TOP 15 i.* FROM (
SELECT [id],[storeName],[storeNumber],[latitude],[longitude],
ROUND((3959*acos(cos(radians([latitude])) * cos(radians(47))
* cos(radians(-122.915) - radians([longitude])) + sin(radians([latitude]))
* sin(radians(47)))) , 2) AS distance
FROM [Public].[dbo].[stores] WHERE [latitude] <> 0 AND [longitude] <> 0
) i WHERE distance < '50' ORDER BY i.distance