跳到主要内容
版本: 最新版本-3.5

timestampdiff

返回从datetime_expr2datetime_expr1的时间间隔。 datetime_expr1datetime_expr2 必须是 DATE 或 DATETIME 类型。

整数结果和时间间隔的单位应为以下之一

MILLISECOND (从 3.2 开始),SECOND、MINUTE、HOUR、DAY、WEEK、MONTH 或 YEAR。

语法

INT TIMESTAMPDIFF(unit,DATETIME datetime_expr1, DATETIME datetime_expr2)

参数

  • datetime_expr: 您要比较的两个 DATE 或 DATETIME 表达式。
  • unit: 时间差的单位。支持的单位包括 MILLISECOND (从 3.2 开始),SECOND、MINUTE、HOUR、DAY、WEEK、MONTH 和 YEAR。

返回值

返回一个 INT 值。

示例

MySQL> SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
+--------------------------------------------------------------------+
| timestampdiff(MONTH, '2003-02-01 00:00:00', '2003-05-01 00:00:00') |
+--------------------------------------------------------------------+
| 3 |
+--------------------------------------------------------------------+

MySQL> SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
+-------------------------------------------------------------------+
| timestampdiff(YEAR, '2002-05-01 00:00:00', '2001-01-01 00:00:00') |
+-------------------------------------------------------------------+
| -1 |
+-------------------------------------------------------------------+

MySQL> SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','2003-05-01 12:05:55');
+---------------------------------------------------------------------+
| timestampdiff(MINUTE, '2003-02-01 00:00:00', '2003-05-01 12:05:55') |
+---------------------------------------------------------------------+
| 128885 |
+---------------------------------------------------------------------+

MySQL > SELECT TIMESTAMPDIFF(MILLISECOND,'2003-02-01','2003-05-01');
+--------------------------------------------------------+
| timestampdiff(MILLISECOND, '2003-02-01', '2003-05-01') |
+--------------------------------------------------------+
| 7689600000 |
+--------------------------------------------------------+

关键词

TIMESTAMPDIFF