MySQL用 TIMESTAMPDIFF() 函数计算时间差

本文将介绍怎样使用 MySQL 的 TIMESTAMPDIFF() 函数计算两个日期的时间差。

TIMESTAMPDIFF() 函数将计算两个日期或日期时间表达式之间的整数时间差。其中,我们可以通过参数指定时间差的单位,如:秒、分钟、小时等。语法:

TIMESTAMPDIFF(interval,datetime1,datetime2)

参数说明:

  • interval:日期比较返回的时间差单位。可以使如下值:

    • FRAC_SECOND:表示间隔是毫秒

    • SECOND:秒

    • MINUTE:分钟

    • HOUR:小时

    • DAY:天

    • WEEK:星期

    • MONTH:月

    • QUARTER:季度

    • YEAR:年

  • datetime1:要比较的日期1

  • datetime2:要比较的日期2

实例

(1)直接使用日期格式的字符串来进行比较两个日期。如下:

-- 相差:25秒
select timestampdiff(second, '2020-07-18 11:20:00', '2020-07-18 11:20:25') as time_diff;
-- 相差:5分钟
select timestampdiff(minute, '2020-07-18 11:20:00', '2020-07-18 11:25:00') as time_diff;
-- 相差:5小时
select timestampdiff(hour, '2020-07-18 11:20:00', '2020-07-18 16:20:00') as time_diff;
-- 相差:2天
select timestampdiff(day, '2020-07-18 11:20:00', '2020-07-20 11:20:00') as time_diff;
-- 相差:1季度
select timestampdiff(quarter, '2020-07-18 11:20:00', '2020-12-18 11:20:00') as time_diff;
-- 相差:1年
select timestampdiff(year, '2020-07-18 11:20:00', '2021-08-18 11:20:00') as time_diff;

(2)timestampdiff 函数参数使用日期函数获取当前日期。如下:

select timestampdiff(second, '2020-07-17', CURRENT_DATE()) as time_diff;
select timestampdiff(second, '2020-07-18 11:20:00', NOW()) as time_diff;
select timestampdiff(second, '2020-07-18 11:20:00', CURRENT_TIMESTAMP()) as time_diff;

你可以将 timestampdiff 和 date_format 函数配合使用。

在年轻人的颈项上,没有什么东西能比事业心这颗灿烂的宝珠更迷人的了。 —— 哈菲兹
0 不喜欢
说说我的看法 -
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
其他应用
公众号