mysql 5.6.1 加入了空间数据支持功能,新增了st_*相关函数,可以非常方便的计算两个地理坐标点的距离了,提高了计算效率。

//mysql 计算距离

DELIMITER $$
CREATE FUNCTION `getDistance`(lng1 float,lat1 float,lng2 float,lat2 float) RETURNS float
BEGIN
set @num = 2 * 6378.137 * ASIN(SQRT(POW(SIN(PI() * (lat1 - lat2) / 360), 2) + COS(PI() * lat1 / 180)* COS(lat2* PI() / 180) * POW(SIN(PI() * (lng1 - lng2) / 360), 2)));
RETURN @num * 1000;
END;
$$

直接在navicat 中新建存储过程就

相关文章:

  • 2021-04-20
  • 2021-05-27
  • 2021-10-29
  • 2021-12-17
  • 2022-12-23
  • 2021-10-25
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-04-09
  • 2021-09-13
相关资源
相似解决方案