2009-02-15 59 views
2

我有一个SQL Server 2008表,其中包含一列地理数据类型。该值是一个点(经度和纬度)。在区域内选择地理点

如何查询表格以返回位置在给定坐标10公里范围内的所有行?

回答

1

此查询最终解决我的问题:

DECLARE @geoMyPoint geography 
SET @geoMyPoint = geography::STGeomFromText('POINT(56.5667 9.0333)', 4326); 

SELECT vchZipCode, nvcCity, vchLat, vchLong, 
    (geography::STGeomFromText('POINT(' + vchLat + ' ' + vchLong + ')', 4326)).STDistance(@geoMyPoint) 
FROM MyTable 
+0

WHERE子句在哪里? – CodeGrue 2011-04-25 20:44:41