mysql函数计算地表两点间距离

DELIMITER $$

CREATE FUNCTION `test`.`getDistance`(LatBegin FLOAT(10,4), LngBegin FLOAT(10,4), LatEnd FLOAT(10,4), LngEnd FLOAT(10,4))RETURNS FLOAT(10,4)
    BEGIN
	DECLARE Distance FLOAT(10,4) DEFAULT 0.0000;
	DECLARE EARTH_RADIUS FLOAT(10,4) DEFAULT 0.0000;
	DECLARE RadLatBegin FLOAT(10,4);
	DECLARE RadLatEnd FLOAT(10,4);
	DECLARE RadLatDiff FLOAT(10,4);
	DECLARE RadLngDiff FLOAT(10,4);
	SET EARTH_RADIUS = 6378.137;
	SET RadLatBegin = LatBegin *PI()/180.0;
	SET RadLatEnd = LatEnd *PI()/180.0;
	SET RadLatDiff = RadLatBegin - RadLatEnd;
	SET RadLngDiff = LngBegin *PI()/180.0 - LngEnd *PI()/180.0;
	SET Distance = 2 *ASIN(SQRT(POWER(SIN(RadLatDiff/2), 2)+COS(RadLatBegin)*COS(RadLatEnd)*POWER(SIN(RadLngDiff/2), 2)));
	SET Distance = Distance * EARTH_RADIUS;
	-- SET @Distance = Round(@Distance * 10000) / 10000
	RETURN Distance;

    END$$

DELIMITER ;

  

时间: 2024-10-21 18:42:50

mysql函数计算地表两点间距离的相关文章

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

Serverless 解惑——函数计算如何访问 MySQL 数据库

函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询.性能监控和报警等功能.借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费.访问 MySQL 数据库是指在函数计算中通过编写代码调用数据库驱动库通过 TCP 协议实现对数据库进行的插入.查询等操作.通常函数计算中运行的不同函数实例之间是不共享状态的,对

函数计算支持 MySQL 实例绑定

函数计算(Function Compute):函数计算 是事件驱动的全托管计算服务.使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码.函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询.性能监控和报警等功能.借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费. 背景 通过工单和客户群里面的反馈,我们发现存在大量用户问:"函数计算如何安全的访问某某资源".例如:函数计算如何安全的访问 RDS 资源等等诸如此类.尤其是 &qu

mysql函数大全

mysql函数大全 对于针对字符串位置的操作,第一个位置被标记为1. ASCII(str) 返回字符串str的最左面字符的ASCII代码值.如果str是空字符串,返回0.如果str是NULL,返回NULL. mysql> select ASCII('2');    -> 50mysql> select ASCII(2);    -> 50mysql> select ASCII('dx');    -> 100也可参见ORD()函数. ORD(str) 如果字符串str最

mysql函数

一.字符串函数 (1).计算字符串个数 语法:char_length(string) 例子:select char_length(user_name) from gonda; (2).计算字节长度 语法:length(string) 例子:select length(name) from student; (3).合并字符串函数 语法:concat(s1,s2) 默认不定义分割符号 举例:select concat(user_id,user_name) from gonda; 语法:concat

五、MySQL函数

函数表示对输入参数值返回一个具有特定关系的值MySQL提供大量丰富的函数在进行数据库管理以及数据的查询和操作时将会经常用到各种函数.通过对数据的处理数据库功能可以变得更加强大更加灵活地满足不同需求.各类函数从功能主要分为以下几类数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数和加密函数. 5.1.数学函数 绝对值函数ABS(x) mysql> SELECT ABS(2),ABS(-3.3),ABS(-33); +--------+-----------+----------+ |

【转】mysql函数

MySQL函数 MySQL数据库提供了很多函数包括: 数学函数: 字符串函数: 日期和时间函数: 条件判断函数: 系统信息函数: 加密函数: 格式化函数: 一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. 函数 作用 ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 SELECT CEIL(1.5) -- 返回2 FLOOR(x) 返回小于或等于x的最大整数 SELECT FLOOR(1.5) 

Mysql函数集合

Mysql提供了很多函数 提供的常用函数集合 一.数学函数 ABS(x) 返回x的绝对值 BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制) CEILING(x) 返回大于x的最小整数值 EXP(x) 返回值e(自然对数的底)的x次方 FLOOR(x) 返回小于x的最大整数值 GREATEST(x1,x2,...,xn) 返回集合中最大的值 LEAST(x1,x2,...,xn) 返回集合中最小的值 LN(x) 返回x的自然对数 LOG(x,y) 返回x的以y为底的对数 MOD

MySQL函数大全及使用方法

mysql函数大全 一.字符串函数 CONCAT(s1,s2...,sn)返回来自于参数连结的字符串.如果任何参数是NULL,返回NULL.可以有超过2个的参数.一个数字参数被变换为等价的字符串形式. CONCAT_WS(sep,s1,s2...,sn)将s1,s2...,sn连接成字符串,并用sep字符间隔 QUOTE(str) 用反斜杠转义str中的单引号 STRCMP(s1,s2)比较字符串s1和s2 LTRIM(str) 返回删除了其前置空格字符的字符串str. 该函数对多字节是可靠的.