mysql计算地图两点之间的距离

SELECT
*,
(
2 * 6371 * ASIN(
SQRT(
COS( 23.99 * PI( ) / 180 ) * COS( 23.99 * PI( ) / 180 ) * POW( SIN( ( 118.732201- lng ) * PI( ) / 360 ), 2 ) + POW( SIN( ( 32.156496- lat ) * PI( ) / 360 ), 2 )
)
) * 1000
) AS distance
FROM
map
ORDER BY
distance ASC;

 

单位是米

数据库中字段用的 decimal (10,7)

 

posted @ 2017-12-26 13:54  Sea_wxx  阅读(445)  评论(0编辑  收藏  举报