TIMESTAMPDIFF
説明
timestampdiff関数は、2つの日付の差を計算し、それらの間の時間間隔を返すために使用されます。差は、指定された時間単位(秒、分、時、日、月、年など)で返すことができます。
構文
TIMESTAMPDIFF(<unit>, <datetime_expr1>, <datetime_expr2>)
パラメータ
| パラメータ | 説明 |
|---|---|
unit | 時間単位。差を返す単位を指定します。一般的な値にはSECOND、MINUTE、HOUR、DAY、MONTH、YEARがあります |
datetime_expr1 | 最初の日時。有効な対象日付 |
datetime_expr2 | 2番目の日時。有効な対象日付 |
戻り値
戻り値は2つの日時の差であり、単位はunitパラメータによって決定されます。
入力パラメータが無効な場合、NULLが返されます。
例
SELECT TIMESTAMPDIFF(MONTH,'2003-02-01','2003-05-01');
+--------------------------------------------------------------------+
| timestampdiff(MONTH, '2003-02-01 00:00:00', '2003-05-01 00:00:00') |
+--------------------------------------------------------------------+
| 3 |
+--------------------------------------------------------------------+
SELECT TIMESTAMPDIFF(YEAR,'2002-05-01','2001-01-01');
+-------------------------------------------------------------------+
| timestampdiff(YEAR, '2002-05-01 00:00:00', '2001-01-01 00:00:00') |
+-------------------------------------------------------------------+
| -1 |
+-------------------------------------------------------------------+
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 |
+---------------------------------------------------------------------+
SELECT TIMESTAMPDIFF(MINUTE,'2003-02-01','1196440219');
+-----------------------------------------------------------------------------------+
| timestampdiff(MINUTE, '2003-02-01 00:00:00', CAST('1196440219' AS datetimev2(6))) |
+-----------------------------------------------------------------------------------+
| NULL |
+-----------------------------------------------------------------------------------+