假设您在数据库中具有点的经度和纬度值。
select * from yourtable where SQRT
( POWER((yourtable.lat - reflat) * COS(reflat/180) * 40000 / 360, 2)
+ POWER((yourtable.long - reflong) * 40000 / 360, 2)) < radiusofinterest
reflat和reflong是您想知道附近地点的起点。感兴趣的半径是到该点的距离。40000是地球的周长。您可以使用更准确的数字。
我还没有使用sqlServer检查语法。…所以那里可能有一些错误。
cos(reflat)会根据您所在的纬度来校正周长。对于较小的距离,它应该可以正常工作。