当前位置: 首页 > 编程笔记 >

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

秦天宇
2023-03-14
本文向大家介绍MySQL的时间差函数TIMESTAMPDIFF、DATEDIFF的用法,包括了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;

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

 类似资料:
  •   1、NOW(),用于获取当前日期和时间函数 select now() as '当前日期和时间' from dual;   返回:2020-05-26 20:27:21   2、CURDATE(),用于获取当前日期,同CURRENT_DATE() select curdate() as '当前日期' from dual;   返回:2020-05-26   3、CURTIME(),用于获取当前时

  • SQL Server Date 函数 定义和用法 DATEDIFF() 函数返回两个日期之间的天数。 语法DATEDIFF(datepart,startdate,enddate) startdate 和 enddate 参数是合法的日期表达式。datepart 参数可以是下列的值: datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的日 dy, y 日 dd, d

  • 问题内容: 如何获得几天内两个时间戳之间的差异?我应该为此使用datetime列吗? 我将专栏切换为日期时间。简单的减法似乎并没有在几天内给我带来结果。 我不认为是几秒钟,因为当我将一天中的秒数除以(86,400)时,我不会得到一个明智的答案: 问题答案: 如果您乐于忽略列中的时间部分,则DATEDIFF()会为您提供以天为单位的时差。

  • 问题内容: 我在一个MySQL数据库表上工作,该表的列包含我对其他主机执行ping操作时的时间戳记(例如2014-09-16 09:08:05)。我的问题是如何在几分钟内计算出针对特定主机的第一次ping和最后一次ping之间的差异?另外,如何为上述差异的开始和结束指定不同的时间戳(而不是第一次和最后一次ping)。这是表格的示例: 我希望我已经对自己的解释足够清楚。 问题答案: 您可以使用本机的

  • 本文向大家介绍MySQL日期与时间函数的使用汇总,包括了MySQL日期与时间函数的使用汇总的使用技巧和注意事项,需要的朋友参考一下 本文基于MySQL8.0 本文介绍MySQL关于日期和时间操作的函数。 日期和时间函数 函数 描述 ADDDATE() 给日期值添加时间值 ADDTIME() 添加time CONVERT_TZ() 从一个时区转换为另一个时区 CURDATE() 返回当前日期 CUR

  • 问题内容: 我从这行得到错误 我栏中的日期格式为md-yy 我需要将其转换为其他格式吗?如果可以,怎么办? 使用MariaDB 问题答案: 根据MariaDB的文档,仅采用 两个 参数: 句法 描述 返回 值,以从一个日期到另一个日期的天数表示。和 是日期或日期和时间表达式。在计算中仅使用值的日期部分。