您的位置:首页 > 数据库 > MySQL

mysql 通过经纬度计算距离

2017-11-22 11:22 211 查看
DELIMITER $$

USE `xx`$$

DROP FUNCTION IF EXISTS `getDistance`$$

CREATE DEFINER=`xx`@`%` FUNCTION `getDistance`(curLat DOUBLE,curLon DOUBLE,shopLat DOUBLE,shopLon DOUBLE) RETURNS DOUBLE
BEGIN
DECLARE dis DOUBLE;
SET dis = ACOS(SIN((curLat * 3.1415) / 180 ) * SIN((shopLat * 3.1415) / 180 ) + COS((curLat * 3.1415) / 180 ) * COS((shopLat * 3.1415) / 180 ) * COS((curLon * 3.1415) / 180 - (shopLon * 3.1415) / 180 ) ) * 6380 ;
SET dis = ROUND(dis*1000,2);
RETURN dis;
END$$

DELIMITER ;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: