//获取经度
CREATE or replace FUNCTION M_LNG(
str varchar(255)
) RETURN varchar(255)as result varchar(255);
BEGIN
set result = left(str,position(',',str)-1);
RETURN result ;
END
//获取维度
CREATE or replace FUNCTION M_LAT(
str varchar(255)
) RETURN varchar(255)as result varchar(255);
BEGIN
set result = right(str,length(str)- position(',',str));
RETURN result ;
END
//计算距离
CREATE or replace
FUNCTION M_DISTANCE
(
lng1 double,
lat1 double,
lng2 double,
lat2 double)
RETURN double
as
dist double;
BEGIN
dist := ( 6371 * acos( cos(radians(lat1)) * cos(radians(lat2)) * cos( radians(lng1) - radians(lng2) ) + sin(radians(lat1)) * sin(radians(lat2)) ) )*1000;
RETURN dist;
END
sql存储过程获取经纬度字符串中的经度和维度,并计算距离
最新推荐文章于 2023-04-11 12:18:25 发布