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 函数配合使用。