• 欢迎访问一起聊聊,欢迎加入一起聊聊 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏一起聊聊吧

MSSQL根据当前经纬度查找数据库距离范围内经纬度的数据

程序教程 admin 2021-10-27 11:58:14 1070次 0条 未收录

根据当前所在的坐标点也即经纬度,查找数据库中附近5公里或10公里附近的所有信息。

CREATE FUNCTION [GetDistance]
( 
    @Longitude  DECIMAL(12,6),
    @Latitude DECIMAL(12,6),
    @GPSLongitude DECIMAL(12,6),
    @GPSLatitude DECIMAL(12,6)
)
RETURNS DECIMAL(12,4)
AS
BEGIN
   DECLARE @result DECIMAL(12,4)
   SELECT @result=6371.004*ACOS(SIN(@GPSLatitude/180*PI())*SIN(@Latitude/180*PI())+COS(@GPSLatitude/180*PI())*COS(@Latitude/180*PI())*COS((@GPSLongitude-@Longitude)/180*PI()))
   RETURN @result
END
SELECT *,GetDistance(经度字段,纬度字段,当前经度,当前纬度) AS [distance] FROM TABLENAME WHERE [distance]<10

一起聊聊 , 版权所有丨如未注明 , 均为原创
转载请注明原文链接:MSSQL根据当前经纬度查找数据库距离范围内经纬度的数据
喜欢 (14)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址