1 函数语句
CREATE FUNCTION `func_calcDistance`(
origLng DECIMAL(20,14), -- 目的地经度
origLat DECIMAL(20,14), -- 目的地纬度
longitude DECIMAL(20,14), -- 当前所在地点经度
latitude DECIMAL(20,14) -- 当前所在地点纬度
) RETURNS double
BEGIN
DECLARE result DOUBLE DEFAULT 0;
SET result = round(6378.138*2*asin(sqrt(pow(sin(
(origLat*pi()/180-latitude*pi()/180)/2),2)+cos(origLat*pi()/180)*cos(latitude*pi()/180)*
pow(sin( (origLng*pi()/180-longitude*pi()/180)/2),2)))*1000);
RETURN result/1000;
END
-- 如果执行出现了报错
set global log_bin_trust_function_creators=TRUE;
2 测试
3 百度测试数据
相差19米