MySQL计算两个日期的时间差函数:
一、timestampdiff
语法:timestampdiff(interval, datetime1,datetime2)
结果:返回(datetime2-datetime1)的时间差,参数interval是返回结果的单位。datetime值最少具体到日。
参数interval的值有:
1.year 年
SELECT TIMESTAMPDIFF(YEAR,'2015-10-01','2019-05-05');
返回结果为:3
2.quarter 季度
SELECT TIMESTAMPDIFF(QUARTER,'2018-06-01','2019-05-01');
返回结果为:3
3.month 月
SELECT TIMESTAMPDIFF(MONTH,'2018-06-01','2019-05-01');
返回结果为:11
4.week 周
SELECT TIMESTAMPDIFF(WEEK,'2019-04-01','2019-05-01');
返回结果为:4
5.day 天
SELECT TIMESTAMPDIFF(DAY,'2019-04-01','2019-05-01');
返回结果为:30
6.hour 小时
SELECT TIMESTAMPDIFF(HOUR,'2019-05-01','2019-05-02');
返回结果为:24
7.minute 分钟
SELECT TIMESTAMPDIFF(MINUTE,'2019-05-01 10:00','2019-05-01 11:00');
返回结果为:60
8.second 秒
SELECT TIMESTAMPDIFF(SECOND,'2019-01-01 10:00:00','2019-01-01 10:01:00');
返回结果为:60
9.frac_second 毫秒(暂不支持)
二、datediff
语法:datediff(datetime1,datetime2)
结果:返回(datetime1-datetime2)的时间差,以日为单位。
SELECT DATEDIFF('2020-01-01','2019-01-01');
返回结果为:365
三、timediff
语法:timediff(datetime1,datetime2)
结果:返回(datetime1-datetime2)的时间差,格式为:hh:mm:ss。
SELECT TIMEDIFF('2019-01-02 10:01:01','2019-01-01 10:00:00');
返回结果为:24:01:01