mysql 自定义函数 时间差_MYSQL自定义函数之返回两个时间的指定类型时差
该函数在MYSQL下编写,5.1版本测试通过。
函数需要传入三个参数,类型(用于区别应返回时差年、时差月...时差秒),起始时间(用于计算),结束时间(用于计算)
1.[代码]DateBetween函数
DELIMITER $$
CREATE FUNCTION DateBetween
(AType INT, ADateStart DATETIME, ADateEnd DATETIME)
RETURNS BIGINT
BEGIN
DECLARE AResult BIGINT DEFAULT -1;
/*入参AType INT类型,结果类型 1:年 2:月 3:日 4:小时 5:分钟 6:秒钟 (必须在1-6内,否则结果返回-1)
*入参ADateStart DATETIME类型,起始时间 (必须是一个正确的日期参数)
*入参ADateEnd DATETIME类型,结束时间 (必须是一个正确的日期参数)
*返回值 BIGINT类型,返回起始之间与结束时间的指定时差 (成功返回计算出的时差,失败返回-1)
*/
IF ADateStart != '' AND ADateEnd != '' AND AType >=1 AND AType <= 6 THEN
CASE AType
WHEN 1 THEN
SELECT TIMESTAMPDIFF(YEAR, ADateStart, ADateEnd) INTO AResult;
WHEN 2 THEN
SELECT TIMESTAMPDIFF(MONTH, ADateStart, ADateEnd) INTO AResult;
WHEN 3 THEN
SELECT TIMESTAMPDIFF(DAY, ADateStart, ADateEnd) INTO AResult;
WHEN 4 THEN
SELECT TIMESTAMPDIFF(HOUR, ADateStart, ADateEnd) INTO AResult;
WHEN 5 THEN
SELECT TIMESTAMPDIFF(MINUTE, ADateStart, ADateEnd) INTO AResult;
WHEN 6 THEN
SELECT TIMESTAMPDIFF(SECOND, ADateStart, ADateEnd) INTO AResult;
END CASE;
END IF;
RETURN(AResult);
END$$
2.[代码]测试用例
SELECT DateBetween(0, '2010-01-01 00:00:00', '2010-01-01 10:00:00');
SELECT DateBetween(1, '2001-01-01', '2010-01-01');
SELECT DateBetween(2, '2010-01-01', '2010-12-01');
SELECT DateBetween(3, '2010-01-01', '2010-01-31');
SELECT DateBetween(4, '2010-01-01 00:00:00', '2010-01-01 10:00:00');
SELECT DateBetween(5, '2010-01-01 00:00:00', '2010-01-01 10:00:00');
SELECT DateBetween(6, '2010-01-01 00:00:00', '2010-01-01 10:00:00');
SELECT DateBetween(7, '2010-01-01 00:00:00', '2010-01-01 10:00:00');
mysql 自定义函数 时间差_MYSQL自定义函数之返回两个时间的指定类型时差相关推荐
- 算法训练 加法运算(你的表妹正在学习整数的加法,请编写一个程序来帮助她学习。该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示)
问题描述 你的表妹正在学习整数的加法,请编写一个程序来帮助她学习.该程序调用了一个函数GetTwoInts,由它来返回两个从键盘读入的100以内的整数,然后计算这两个整数之和,并把答案显示出来.要求: ...
- mysql 自定义函数教程_MySQL自定义函数
MySQL自定义函数 函数与存储过程类似,也是一组预先编译好的SQL语句的集合,但是存储过程可以有0个或多个返回,函数就只能有一个返回 创建函数 #语法 参数列表包含两部分 参数名和参数类型 #函数体 ...
- rds支持mysql自带函数吗_MySQL自定义函数(CREATE FUNCTION)
在使用MySQL的过程中,MySQL 自带的函数可能完成不了我们的业务需求,这时候就需要自定义函数.自定义函数是一种与存储过程十分相似的过程式数据库对象.它与存储过程一样,都是由 SQL 语句和过程式 ...
- mysql 自定义函数实例_mysql自定义函数原理与用法实例分析
本文实例讲述了mysql自定义函数原理与用法.分享给大家供大家参考,具体如下: 本文内容: 什么是函数 函数的创建 函数的调用 函数的查看 函数的修改 函数的删除 首发日期:2018-04-18 什么 ...
- mysql 获取子分类_MySQL 自定义函数获取一个分类的无限级子分类
本方法不易维护,建议取出数据,在程序中递归,例如 https://javascript.net.cn/article?id=654 代码如下:delimiter / DROP FUNCTION IF ...
- mysql 函数事务_MySQL:函数和事务
一.函数 MySQL数据库中提供了很丰富的函数.MySQL函数包括数学函数.字符串函数.日期和时间函数.条件判断函数.系统信息函数.加密函数.格式化函数等.通过这些函数,可以简化用户的操作. (一)数 ...
- mysql 处理文本数据_MySQL ------ 数据处理函数(文本、日期、数值)(十)
与大多数语言一样,SQL支持利用函数来处理数据. 好处:函数一般在数据上执行,给数据的转换和处理提供了方便. 可移植的(portable) : 能运行在多个系统上的代码. 注意: 1.多数SQL 是可 ...
- mysql数学函数名_Mysql数学函数
所有的数学函数在发生错误的情况下,均返回 NULL. - 一元减.改变参数的符号: mysql> SELECT - 2; -> -2 注意,如果这个操作符被用于一个 BIGINT,返回值也 ...
- mysql 正无穷字符_mysql 字符串函数收集比较全
ASCII(str)返回字符串str的 最左面字符的ASCII代码值.如果str是空字符串, 返回0.如果str是NULL,返回NULL. mysql> select ASCII('2'); - ...
最新文章
- 1美元训练BERT,教你如何薅谷歌TPU羊毛 | 附Colab代码
- UOJ228:基础数据结构练习题——题解
- 基于3G网络的汽车防盗报警系统视频监控设计[图]
- linux多线程编写哲学家,Linux系统编程(三) ------ 多线程编程
- Eclipse+svn+subclipse配置
- 剑指offer面试题22. 链表中倒数第k个节点(链表)
- Mysql8.0.12解压版安装亲测(步骤超级简单)
- ggplot2分面柱状图柱子比例一致_R语言柱状图
- 刚刚,2021 ACM Fellow放榜!李飞飞、谢涛、刘铁岩等13名华人学者当选
- Python 根据AIC准则定义向前逐步回归进行变量筛选(二)
- ActiveMQ--CVE-2015-5254
- Python 批量下载SIGMOD,VLDB的论文 Mac OS
- 编译原理——语法分析器(C/C++代码实现)
- 解决 ENVI App Store安装后无法打开的问题
- Cadence OrCAD Capture打开.bxl封装文件的方法图文教程
- MR实现reduce join和map join及hive的执行计划
- 在某个文件目录中打开cmd的方法及快速获取文件路径的方法
- sql server查询分析器的一个选项...
- 阿里云视频点播-->>>阿里云媒资上传工具类及配置
- 常见的分布式文件系统介绍及对比
热门文章
- 作为一名Java程序员,这些Spring知识点面试官常考
- MobileViT 网络测试
- python opencv生成模糊图像
- 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
- adb server version (41) doesn‘t match this client (39); killing
- NMS和roi pooling 实现以及加速
- PelleeNet_SSD
- pycharm debug code -1073741819
- jupyter 多个python版本
- 八、redis性能测试