首页 > 数据库 >MySQL之根据经纬度计算距离

MySQL之根据经纬度计算距离

时间:2023-03-10 10:13:26浏览次数:39  
标签:lat1 经纬度 lat2 float 距离 180 MySQL PI

 

可以在MySQL层面使用自定义计算函数来使用

CREATE DEFINER=`xxx`@`%` FUNCTION `get_distance`(
lat1 float,lon1 float,lat2 float,lon2 float) RETURNS float
    SQL SECURITY INVOKER
BEGIN
    RETURN ROUND(6378.138 * 2 * ASIN(SQRT(POW(SIN((lat1 * PI() / 180 - lat2 * PI() / 180) / 2), 2)
           + COS(lat1 * PI() / 180) * COS(lat2 * PI() / 180)
           * POW(SIN(( lon1 * PI() / 180 - lon2 * PI() / 180 ) / 2),2))),2);
END

 

标签:lat1,经纬度,lat2,float,距离,180,MySQL,PI
From: https://www.cnblogs.com/xingxia/p/mysql_get_distance.html

相关文章

  • mysql8.0.x-mgr组复制
    概述在mysql8.x搭建组复制,发现优化5.7.x的不展示节点类型的bug.丢弃了部分参数关于mysql停机后重启是否可以自动拉起,待研究开干envcentos7.x2c4gx3mysql-8.0.x......
  • springboot-整合mysql多数据源配置
    一、springboot+mybatis使用分包方式整合1、application.yml配置文件server:port:8080#启动端口spring:datasource:db1:#数据源1jdbc-url:j......
  • 【MYSQL】字符串操作函数(拼接、截取、替换、查找位置)
    字符串类型的函数函数用法ASCIl(S)返回字符串S中的第一个字符的ASCII码值CHAR_LENGTH(s)返回字符串s的字符数。作用与CHARACTER_LENGTH(s)相同LENGTH(s)......
  • MySQL
    目录1、初识MySQL1.1、为什么需要学数据库1.2、什么是数据库1.3、数据库分类1.4、MySQL简介1.5、安装MySQL1.6、安装SQLyog1.7、连接数据库2、操作数据库2.1、操作数据库2......
  • Docker部署mysql5.7与redis6.2.6
    Linux环境:centos7.6#首先创建docker相关数据卷挂载目录mkdir-pdocker/{nexus3,mysql,redis}一、部署mysql1.搜索版本dockersearchmysql2.安装mysql5.7dockerpu......
  • MySql索引优化实战
    1.数据准备创建表CREATETABLE`employees`(`id`intNOTNULLAUTO_INCREMENT,`name`varchar(24)NOTNULLDEFAULT''COMMENT'姓名',`age`intNOTNULL......
  • IDEA中使用JDBC连接MySQL数据库报错:No appropriate protocol (protocol is disabled o
    在IDEA中使用JDBC连接MySQL,程序运行之后报错:  定位到第16行:  根据上面报错提示,在url参数字段最前面添加参数 useSSL=false :  再次运行程序,成功连接到......
  • docker 学习之一 装MySQL 供远程使用 Linux
    因为Linux发行版本的问题折腾了好久,尽量使用LTS的版本。其他版本有时候缺的东西太多了,对新手相当不友好。大概花了几天实在没招了,下了个LTS的版本,再装时正常了。按照官方......
  • mysql
    一,回顾MYSQL数据库连接mysql.exe-h127.0.0.1-P3306-uroot-pmysql-urootmysq1-uroot<拖拽文件对数据的增删改查insertinto数据表名称values(一组值,..);dele......
  • Mysql基本语句练习
    先从简单的开始:userBehavior:用户行为record:记录增加:向用户行为表添加一条数据insertintouserBehavior(id,name,record,createTime,updateTime)values(1,"gugu","打开了......