sql根据经纬度计算距离

select e.*,ROUND(  
        6371.393 * 2 * ASIN(  
            SQRT(  
                POW(  
                    SIN(  
                        (  
                            原点变量纬度 * 3.141592653 / 180 - e.latitude * PI() / 180  
                        ) / 2  
                    ),  
                    2  
                ) + COS(原点变量纬度 * 3.141592653 / 180) * COS(e.latitude * PI() / 180) * POW(  
                    SIN(  
                        (  
                            原点变量经度 * 3.141592653 / 180 - e.longitude * PI() / 180  
                        ) / 2  
                    ),  
                    2  
                )  
            )  
        ) * 1000  
    ) AS distance_um  from hm_e e 
    
where e.valid=1  ORDER BY distance_um;

11597 为11.597km 

 

posted @   深山藏古客  阅读(241)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示