sql根据两个点的经纬度计算距离

-- Hive计算两个经纬度坐标直线距离(单位:公里)

-- 公式

-- ASIN(

-- SQRT(

-- POWER(SIN((lat1-lat2)*ACOS(-1)/360),2) +

-- COS(lat1*ACOS(-1)/180)*COS(lat2*ACOS(-1)/180)

-- *POWER(SIN((lon1-lon2)*ACOS(-1)/360),2)

-- )

-- )*6378137*2/1000 as distance

-- example

select

-- exam1(人民广场/东方明珠广播电视塔,121.481318,31.235056/121.506379,31.245414)

ASIN(

SQRT(

POWER(SIN((31.235056-31.245414)*ACOS(-1)/360),2) +

COS(31.235056*ACOS(-1)/180)*COS(31.245414*ACOS(-1)/180)

*POWER(SIN((121.481318-121.506379)*ACOS(-1)/360),2)

)

) *6378137*2/1000 as distance1

-- exam2(上海虹桥国际机场/上海浦东国际机场,121.346817,31.203347/121.81509,31.157478)

,

ASIN(

SQRT(

POWER(SIN((31.203347-31.157478)*ACOS(-1)/360),2) +

COS(31.203347*ACOS(-1)/180)*COS(31.157478*ACOS(-1)/180)

*POWER(SIN((121.346817-121.81509)*ACOS(-1)/360),2)

)

) *6378137*2/1000 as distance2

相关推荐
祖传F874 小时前
SQL DATE()函数会抹去时间戳
数据库·sql
BduL OWED5 小时前
SQL进阶——JOIN操作详解
数据库·sql·oracle
ERBU DISH6 小时前
修改表字段属性,SQL总结
java·数据库·sql
cyber_两只龙宝7 小时前
【Oracle】 Oracle之SQL的子查询
linux·运维·数据库·sql·云原生·oracle
一只fish8 小时前
SQL 性能优化实战:从入门到极致的七重境界
数据库·sql·性能优化
NCIN EXPE8 小时前
SQL sever数据导入导出实验
数据库·sql·oracle
OtIo TALL9 小时前
SQL-触发器(trigger)的详解以及代码演示
服务器·数据库·sql
RNEA ESIO10 小时前
SQL中的REGEXP正则表达式使用指南
数据库·sql·正则表达式
geNE GENT12 小时前
SQL 中UPDATE 和 DELETE 语句的深入理解与应用
数据库·sql
dLYG DUMS13 小时前
如何在docker中的mysql容器内执行命令与执行SQL文件
sql·mysql·docker