首先,mysql 创建函数
DROP FUNCTION IF EXISTS `getDistance`;

CREATE  FUNCTION `getDistance`(  
     lon1 float(10,7)   
    ,lat1 float(10,7)  
    ,lon2 float(10,7)   
    ,lat2 float(10,7)  
) RETURNS double
begin  
    declare d double;  
    declare radius int;  
    set radius = 6378140; #假设地球为正球形,直径为6378140米  
    set d = (2*ATAN2(SQRT(SIN((lat1-lat2)*PI()/180/2)     
        *SIN((lat1-lat2)*PI()/180/2)+     
        COS(lat2*PI()/180)*COS(lat1*PI()/180)     
        *SIN((lon1-lon2)*PI()/180/2)     
        *SIN((lon1-lon2)*PI()/180/2)),     
        SQRT(1-SIN((lat1-lat2)*PI()/180/2)     
        *SIN((lat1-lat2)*PI()/180/2)     
        +COS(lat2*PI()/180)*COS(lat1*PI()/180)     
        *SIN((lon1-lon2)*PI()/180/2)     
        *SIN((lon1-lon2)*PI()/180/2))))*radius;  
    return d;  
end
;;

调用查询

SELECT getDistance(
'113.941079','22.546103',
'116.431123','40.001265')/1000 as '阳明到深圳腾讯'
效果截图

 

 

本人在阳明广场工作过,实际出发。。

实际的mysql运行

mysql 附近的人,阿里云数据库 本人亲测

mysql 附近的人,阿里云数据库 本人亲测

如下为百度标注获得地址

北京阳明广场
地址:北京市朝阳区小营路10号阳明广场3号楼首层附近
坐标:116.430892,40.001265
阳明广场6.2公里到北京大唐电信科技产业集团
大唐电信科技产业集团
地址:北京市海淀区学院路40号
坐标:116.361915,39.985629

阳明广场14公里到北京西站

地址:北京市丰台区莲花池东路118号
坐标:116.328103,39.900835

阳明广场126.503 公里到天津之眼
天津之眼
地址:天津市河北区三岔河口永乐桥上
电话:(022)26288830
坐标:117.193424,39.160105

阳明广场1967.490 公里到深圳腾讯大厦
腾讯大厦
地址:深南大道10000号
坐标:113.941079,22.546103
 

 

相关文章:

  • 2021-09-06
  • 2022-12-23
  • 2021-09-29
  • 2022-12-23
  • 2021-11-18
  • 2021-11-09
  • 2021-11-29
猜你喜欢
  • 2021-09-18
  • 2021-10-03
  • 2022-01-12
  • 2022-12-23
  • 2022-12-23
  • 2021-08-07
  • 2021-05-15
相关资源
相似解决方案