mysql的sql语句获取两点之间的距离

2023-11-02

一张表,表的经度和维度都为double或者decimal类型

 

传入参数经度116.366216,纬度39.939834.

SELECT
    *,
    ROUND(
        6378.138 * 2 * ASIN(
            SQRT(
                POW(
                    SIN(
                        (
                            40.0497810000 * PI() / 180 - localhost_latitude * PI() / 180
                        ) / 2
                    ),
                    2
                ) + COS(40.0497810000 * PI() / 180) * COS(localhost_latitude * PI() / 180) * POW(
                    SIN(
                        (
                            116.3424590000 * PI() / 180 - localhost_longitude * PI() / 180
                        ) / 2
                    ),
                    2
                )
            )
        ) * 1000
    ) AS juli
FROM
    shop_info
ORDER BY
    juli ASC

sql执行结果,juli单位为m,如果需要公里则需要去掉*1000的。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql的sql语句获取两点之间的距离 的相关文章

随机推荐