我有一个包含纬度和经度列(都是浮点数)的表,现在我正在构建一个存储过程,它获取一个点作为参数,并查找哪些行距它最远 500 米。
我在 where 子句中使用了以下语句,但它不起作用:
(geometry::STGeomFromText('POINT(' + CAST(Longitude AS VARCHAR(20)) + ' ' +
CAST(Latitude AS VARCHAR(20))
+ ')', 4326).STDistance(@currentLocation) / 1000) < @radius
@currentLocation
是geometry
和@radius
是float
。
我正在使用 SQL Server 2012。我的 where 子句有什么问题?