2019独角兽企业重金招聘Python工程师标准>>>

店铺表有一个经度字段,一个纬度字段,用来存储所在位置。先需要根据当前位置的经度与纬度来获取附近10公里内的店铺。故需要将计算距离的逻辑封装成一个function。

函数定义及参数说明如下:

Sql代码  
  1. -- curLat 当前纬度
  2. -- curLon 当前经度
  3. -- shopLat 店铺纬度
  4. -- shopLon 店铺经度
  5. CREATE FUNCTION getDistance(curLat DOUBLE, curLon DOUBLE, shopLat DOUBLE, shopLon DOUBLE)
  6. RETURNS DOUBLE
  7. BEGIN
  8. DECLARE  dis DOUBLE;
  9. set dis = ACOS(SIN((curLat * 3.1415) / 180 ) * SIN((shopLat * 3.1415) / 180 ) + COS((curLat * 3.1415) / 180 ) * COS((shopLat * 3.1415) / 180 ) * COS((curLon * 3.1415) / 180 - (shopLon * 3.1415) / 180 ) ) * 6380 ;
  10. RETURN dis;
  11. END;

转载于:https://my.oschina.net/pvpCC9IFwqz4/blog/505172

MYSQL创建一个function用来计算经纬度距离相关推荐

  1. MySQL计算经纬度距离

    MySQL计算经纬度距离 现在开发计算距离自身所在地到目的地的距离算是一个比较常见的需求,基本上都是通过两地的经纬度查询直线距离,忘记之前自己有没有写过,反正印象都是通过一定的算法来获取的. 今天开发 ...

  2. Oracle经纬度查询最近sql,SQL语句计算经纬度距离

    二: SQL语句计算经纬度距离 SELECT id, ( 6371* acos( cos( radians(37) ) * cos( radians( lat ) ) * cos( radians( ...

  3. 在mysql中创建一个自定义函数来计算两个数的和_Mysql创建自定义函数

    Mysql创建用户自定义函数: >显示库中所有的自定义函数信息: show function status; >创建自定义函数的过程如下demo1: drop function if ex ...

  4. MySql创建一个存储过程

    MySQL 存储过程是从 MySQL 5.0 新功能.存储过程的长处有一箩筐.只是最基本的还是运行效率和SQL 代码封装. 特别是 SQL 代码封装功能,假设没有存储过程,在外部程序訪问数据库时(比如 ...

  5. Mysql创建Create Function

    首先我们创建一个名为employee的表,添加相应的数据: INSERT INTO `employee` (`Id`, `Salary`) VALUES(3, 300),(2, 200),(1, 10 ...

  6. mysql创建一个表用来快速查询表_mysql数据库的创建表格、查询(多表查询)

    我们要下载Mysql数据库(可以去官网中下),然后在下载一个navicat,我们在这里面使用Mysql.等这些准备工作做完之后,我们就正式来写sql语句了. 首先:我们需要创建一个用户,然后有一个te ...

  7. 虚拟机mysql创建一个表_MySQL:创建、修改和删除表

    其实对很多人来说对于SQL语句已经忘了很多,或者说是不懂很多,因为有数据库图形操作软件,方便了大家,但是我们不能忘记最根本的东西,特别是一些细节上的东西,可能你用惯了Hibernate,不用写SQL语 ...

  8. go : go gin mysql 创建一个简单的后端web服务

    吃别人吃不了的苦,忍别人受不了的气,付出比别人更多的,才会享受的比别人更多 !!! 具体代码在: https://gitee.com/hjx_RuGuoYunZhiDao/strom-huang-go ...

  9. 如何利用MYSQL创建一个表格

    1.打开MYSQL,如下. 2.首先必须在一个数据库里面工作,所以你必须创建一个数据库.利用create database +(数据库名称),来出创建数据库. 3.创建好了必须使用它,利用 use + ...

最新文章

  1. 【图解】算法原理!通俗理解机器学习算法
  2. nas挂载windows_在windows2012上挂载NAS文件系统
  3. linux网络管理三剑客
  4. 大学计算机基础章节知识点,《大学计算机基础》知识点
  5. zookeeper可视化工具zkui
  6. 小辣椒p60手机怎么样_小辣椒双机来临,搭载联发科 最低499元
  7. 图解 Python 深拷贝和浅拷贝
  8. 个人支付宝收款页面,对接当面付接口
  9. 关于非对称加密算法在不同系统间对接时的使用要点
  10. 鲲鹏凌云,并行科技Paramon通过华为云鲲鹏云服务兼容性认证
  11. IndexedDB 简单封装
  12. Jquery源码中的Javascript基础知识(三)
  13. AJAX请求 $.post方法的使用
  14. MySQL操作(备份很重要)
  15. C++编程基础一 28-编程练习一
  16. 通过yum安装redis
  17. java dateutils工具类_DateUtils 日期工具类
  18. java qq音乐接口 api,QQ音乐的各种相关API
  19. java mina 服务端_mina 框架java服务端的搭建和通信。
  20. 编写存储过程批量造数据

热门文章

  1. 怎么看b树是几阶_B站广告部混入A站内鬼?网友:请问怎么在B站看租借女友?...
  2. 显卡、显卡驱动、cuda 之间的关系是什么?
  3. 理解注意力机制的好文二
  4. 一直以为Python没有自带四舍五入的函数
  5. android的三个基础控件,Android基础控件——ProgressBar自定义的介绍、动画效果实现、附加三个漂亮的进度条...
  6. java迭代器 异常_java.util.NoSuchElementException在Java中使用迭代器
  7. 谭浩强课后题之----输入一行字符,统计英文字母,数字以及空格数量
  8. 安装mysql5.7出现问题_本地安装Mysql5.7过程中出现的一系列问题
  9. devc++调试下一步没反应_某化工厂污水处理站SBR工艺调试方案
  10. 第10章:项目沟通管理和干系人管理-章节重点