DATEDIFF(date1,date2) 函数用来计算指定的起始时间 date1 和结束时间 date2 之间的天数。date1 和 date2 为日期(年月日)或“日期+时间”(年月日时分秒)表达式。
注意:DATEDIFF计算时只用到这些值的日期部分。
(1)使用 DATEDIFF 函数计算两个日期格式字符串相差天数,如下:
mysql> select DATEDIFF('2022-04-25', '2022-04-24'); +--------------------------------------+ | DATEDIFF('2022-04-25', '2022-04-24') | +--------------------------------------+ | 1 | +--------------------------------------+ 1 row in set (0.02 sec)
(2)使用 DATEDIFF 函数计算两个 “日期+时间” 相差天数,如下:
mysql> select DATEDIFF('2022-04-25 08:00:00', '2022-04-24 12:00:00'); +--------------------------------------------------------+ | DATEDIFF('2022-04-25 08:00:00', '2022-04-24 12:00:00') | +--------------------------------------------------------+ | 1 | +--------------------------------------------------------+ 1 row in set (0.03 sec)
(3)如果 DATEDIFF 函数的 date1 参数比 date2 参数指定的日期早,则返回一个负数。如下:
mysql> select DATEDIFF('2022-04-20', '2022-04-24'); +--------------------------------------+ | DATEDIFF('2022-04-20', '2022-04-24') | +--------------------------------------+ | -4 | +--------------------------------------+ 1 row in set (0.03 sec)
有运行结果得知,由于 2022-04-20 比 2022-04-24 日期更早,因此返回相差 -4 天。