-- 计算两个经纬度之间的距离(单位:公里)
-- 使用 Haversine 公式进行计算
SELECT 6371 * acos(
cos(radians(lat1))
* cos(radians(lat2))
* cos(radians(lon2) - radians(lon1))
+ sin(radians(lat1))
* sin(radians(lat2))
) AS distance
FROM (
SELECT 39.9042 AS lat1, 116.4074 AS lon1, 31.2304 AS lat2, 121.4737 AS lon2
) AS coordinates;
radians()
:将角度转换为弧度,因为三角函数需要弧度作为输入。lat1
, lon1
:起点的纬度和经度。lat2
, lon2
:终点的纬度和经度。acos()
:反余弦函数,用于计算夹角。这段 SQL 代码会返回两个指定经纬度之间的距离,单位是公里。
上一篇:存储过程mysql
下一篇:mysqlavg函数保留小数
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站