MySQL DATEDIFF() 用法与实例

在 MySQL 中,DATEDIFF() 函数用于计算两个日期之间的差异,它返回两个日期之间相差的天数。

发布于

在 MySQL 中,DATEDIFF() 函数用于计算两个日期之间的差异,它返回两个日期之间相差的天数。

语法

您可以使用以下语法:

DATEDIFF(expr1, expr2)

其中,expr1expr2 是两个要比较的日期。

如果第一个参数晚于第二个参数,DATEDIFF() 返回一个正数,否则返回一个负数或者 0。

示例 1 – 日期

下面的示例展示了 MySQL DATE_SUB() 函数的基本用法:

SELECT DATEDIFF('2023-01-31', '2023-01-01');

输出:

+--------------------------------------+
| DATEDIFF('2023-01-31', '2023-01-01') |
+--------------------------------------+
|                                   30 |
+--------------------------------------+

在本示例中,由于 2023-01-31 晚于 2023-01-01,此函数返回了一个正数。 让我们颠倒两个参数:

SELECT DATEDIFF('2023-01-01', '2023-01-31');

输出:

+--------------------------------------+
| DATEDIFF('2023-01-01', '2023-01-31') |
+--------------------------------------+
|                                  -30 |
+--------------------------------------+

示例 2 – 日期和时间

MySQL DATE_SUB() 函数支持比较两个日期和时间值。不过该函数只比较其中的日期部分。

SELECT DATEDIFF('2023-01-31 00:00:00', '2023-01-01 11:00:00');

输出:

+--------------------------------------------------------+
| DATEDIFF('2023-01-31 00:00:00', '2023-01-01 11:00:00') |
+--------------------------------------------------------+
|                                                     30 |
+--------------------------------------------------------+