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

 更新时间:2019年12月08日 16:55:51   作者:laowang2915  
这篇文章主要介绍了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;

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Mysql COUNT()函数基本用法及应用详解

    Mysql COUNT()函数基本用法及应用详解

    这篇文章主要介绍了Mysql COUNT()函数基本用法及应用的相关资料,COUNT()函数是SQL中常用的聚合函数,用于统计满足特定条件的记录数,它可以灵活地应用于各种查询场景,帮助用户快速获取所需的数据统计信息,需要的朋友可以参考下
    2024-12-12
  • MySql字符串拆分实现split功能(字段分割转列)

    MySql字符串拆分实现split功能(字段分割转列)

    本文主要介绍了MySql字符串拆分实现split功能(字段分割转列),文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • MySQL8.0.3 RC版即将发布 先来看看有哪些变化

    MySQL8.0.3 RC版即将发布 先来看看有哪些变化

    MySQL8.0.3 RC版即将发布,这篇文章主要介绍了MySQL8.0.3 RC版的一些新变化,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-09-09
  • 详解MySQL的慢查询日志和错误日志

    详解MySQL的慢查询日志和错误日志

    这篇文章主要详细介绍了MySQL的慢查询日志和错误日志,文中通过代码示例讲解的非常详细,对大家学习和了解MySQL的慢查询日志和错误日志有一定的帮助,需要的朋友可以参考下
    2024-04-04
  • MYSQL事务教程之Yii2.0商户提现功能

    MYSQL事务教程之Yii2.0商户提现功能

    这篇文章主要给大家介绍了关于MYSQL事务教程之Yii2.0商户提现功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 浅谈开启magic_quote_gpc后的sql注入攻击与防范

    浅谈开启magic_quote_gpc后的sql注入攻击与防范

    通过启用php.ini配置文件中的相关选项,就可以将大部分想利用SQL注入漏洞的骇客拒绝于门外
    2012-01-01
  • mysql替换表中的字符串的sql语句

    mysql替换表中的字符串的sql语句

    替换字段里数据内容部分字符串,这个在替换网址呀什么的最经常用了,发布一下做个笔记
    2008-06-06
  • mysql忘记密码的解决方法

    mysql忘记密码的解决方法

    mySQL忘記管理密碼的解決方法 ! 如果mySQL正在運作,請先關閉,
    2008-06-06
  • MYSQL行列转置方式

    MYSQL行列转置方式

    本文介绍了如何使用MySQL和Navicat进行列转行操作,首先,创建了一个名为`grade`的表,并插入多条数据,然后,通过修改查询SQL语句,使用`CASE`和`IF`函数将列转换为行,总结指出,`SUM`可以替换为`MAX`、`MIN`、`AVG`等聚合函数,并且在查询中需要对普通字段进行分组
    2025-01-01
  • MySQL的主从复制步骤详解及常见错误解决方法

    MySQL的主从复制步骤详解及常见错误解决方法

    这篇文章主要介绍了MySQL的主从复制步骤详解及常见错误解决方法,文中主张同步时跳过临时错误,并对Slave_IO_Running: No错误的解决给出了方案,需要的朋友可以参考下
    2016-02-02

最新评论