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 天。