我有sql server 2012数据库。我有餐厅大师。在那张桌子里,我正在存放餐厅的纬度和经度。现在我想要做的是当用户搜索他可以使用距离排序的餐馆。所以我得到用户当前位置(lat,long)但与sql查询混淆如何执行计算?
这是我的表
RestLatitude RestLongitude Restid
21.1784472 72.9627693 1
21.5724180 72.9648222 2
我的预期输出根据当前用户位置,想要首先显示最近的餐厅。
答案 0 :(得分:0)
这个
很容易入侵首先将纬度和经度转换为数字
然后尝试类似
的内容select resturent,cast(restLatitude as numeric(18,10))-cast(@userLatitude as numeric(18,10)) as Distance from table order by Distance asc
还添加经度
所以逻辑上最低的值将是最近的地方......
P.S尝试这样的事情,这不是准确的事情,而是思考如何做到这一点