MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法「建议收藏」

MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法「建议收藏」MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法时间差函数TIMESTAMPDIFF、DATEDIFF的用法我们在写sql语句,尤其是存储过程中,会频繁用到对于日期、时间的比较和判断,那么对于这两个时间差比较函数用法做一个举例介绍。datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。–相差2天selectdatediff(‘2018-03-2209:…

大家好,又见面了,我是你们的朋友全栈君。

MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法


时间差函数TIMESTAMPDIFF、DATEDIFF的用法


我们在写sql语句,尤其是存储过程中,会频繁用到对于日期、时间的比较和判断,那么对于这两个时间差比较函数用法做一个举例介绍。

datediff函数,返回值是相差的天数,不能定位到小时、分钟和秒。

— 相差2天
select datediff(‘2018-03-22 09:00:00’, ‘2018-03-20 07:00:00’);

TIMESTAMPDIFF函数,有参数设置,可以精确到天(DAY)、小时(HOUR),分钟(MINUTE)和秒(SECOND),使用起来比datediff函数更加灵活。对于比较的两个时间,时间小的放在前面,时间大的放在后面。

–相差1天
select TIMESTAMPDIFF(DAY, ‘2018-03-20 23:59:00‘, ‘2015-03-22 00:00:00‘);
–相差49小时
select TIMESTAMPDIFF(HOUR, ‘2018-03-20 09:00:00’, ‘2018-03-22 10:00:00’);
–相差2940分钟
select TIMESTAMPDIFF(MINUTE, ‘2018-03-20 09:00:00’, ‘2018-03-22 10:00:00’);

–相差176400秒

select TIMESTAMPDIFF(SECOND, ‘2018-03-20 09:00:00’, ‘2018-03-22 10:00:00’);


在存储过程中的写法:


注意:var_committime是前面业务中获取到需要比较的时间。

— 获取当前时间
SET var_current_time = CONCAT(CURDATE(),’ ‘,CURTIME());
— 时间比较
SET var_time_diff = TIMESTAMPDIFF(MINUTE, var_committime, var_current_time);

— 判断未审核的合同是否超过48小时未处理,如果超过则进行后续逻辑处理,否则不处理。
IF (var_time_diff > 2880) THEN

— 相关业务逻辑处理

END IF;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/130972.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java scanner next nextline nextint区别

    java scanner next nextline nextint区别next表示返回第一个字符串而nextLine()方法的结束符只是Enter键,即nextLine()方法返回的是Enter键之前的所有字符,它是可以得到带空格的字符串的。简单的说nextLine() 返回的是一行。而next() 返回的只是第一个输入。 比如;输入hello java nextLine() 读的是hello java next() 读的是hello

    2022年5月17日
    36
  • 指定目标TCP端口的traceroute命令tcptraceroute mailserver 25等价traceroute -T mailserver -p 25

    指定目标TCP端口的traceroute命令tcptraceroute mailserver 25等价traceroute -T mailserver -p 25tcptraceroute(1)-LinuxmanpageNametcptraceroute-AtracerouteimplementationusingTCPpacketsSynopsistcptraceroute[-nNFSAE][-iinterface][-ffirstttl][-llength][-qnumberofqueries][-ttos][-mmaxttl][-psourceport]…

    2022年6月20日
    70
  • mysql前缀索引的索引选择性

    mysql前缀索引的索引选择性mysql前缀索引的索引选择性一.基础概念在mysql中建立前缀索引的意义在于相对于整列建立索引,前缀索引仅仅是选择该列的部分字符作为索引,减少索引的字符可以节约索引空间,从而提高索引效率,但这样也会降低索引的选择性关于索引的选择性,它是指不重复的索引值(也称为基数cardinality)和数据表的记录总数的比值,范围从1/(数据表记录总数)到1之间。索引的选择性越高则查询效率越高,因为选

    2022年5月23日
    39
  • linux 解压war到root_unzip命令解压war包方法

    linux 解压war到root_unzip命令解压war包方法unzip 命令用于解压缩由 zip 命令压缩的 zip 压缩包 语法 unzip 选项 参数 选项 c 将解压缩的结果显示到屏幕上 并对字符做适当的转换 f 更新现有的文件 l 显示压缩文件内所包含的文件 p 与 c 参数类似 会将解压缩的结果显示到屏幕上 但不会执行任何的转换 t 检查压缩文件是否正确 u 与 f 参数类似 但是除了更新现有的文件外 也会将压缩文件中的其他文件解压缩到目录中

    2025年8月3日
    1
  • 学习笔记 python取余[通俗易懂]

    学习笔记 python取余[通俗易懂]python中的取余运算其实就是取模运算,所谓取模运算,就是计算两个数相除之后的余数,符号是%。如a%b就是计算a除以b的余数。用数学语言来描述,就是如果存在整数n,其中0<=|m|<|b|使得a=n*b+m,那么a%b=a‐n*b=m其中n=a/b,然后对n进行向下取整,最后得到n取模运算的两个操作数都必须是整数,可以是负整数,但是b不可以是0,因为被除数不能为0假设变量:a=10,b=20;那么b%a输出结果0…

    2022年4月25日
    63
  • java 敏感字过滤_Java实现敏感词过滤「建议收藏」

    java 敏感字过滤_Java实现敏感词过滤「建议收藏」系列目录:并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须…

    2022年5月24日
    33

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号