メインコンテンツまでスキップ
バージョン: 3.2

date_diff

Description

指定された単位で2つの日付値の差を返します。この関数は、unit の単位で表現された expr1 - expr2 の値を返します。

例えば、date_diff('second', '2010-11-30 23:59:59', '2010-11-30 20:58:59') は、2つのDATETIME値の差を秒単位で返します。

この関数はv3.1からサポートされています。

date_diffと datediff の違いは、datediff() が unit パラメータをサポートしていない点です。

Syntax

BIGINT DATE_DIFF(VARCHAR unit, DATETIME expr1, DATETIME expr2)

Parameters

  • expr1expr2: 比較したい2つのdatetime値(必須)。サポートされているデータ型はDATETIMEとDATEです。

  • unit: 時間差を表現するために使用される単位(必須)。サポートされている unit の値は次の通りです: year, quarter, month, week, day, hour, minute, second, millisecond。

Return value

BIGINT値を返します。

Usage notes

  • expr1expr2 よりも前の場合、負の値が返されます。
  • unit が無効な場合、エラーが返されます。
  • 入力値がNULLの場合、NULLが返されます。
  • 指定された日付が存在しない場合、例えば 2022-11-31、NULLが返されます。

Examples

mysql> select date_diff('second', '2010-11-30 23:59:59', '2010-11-30 20:58:59');
+-------------------------------------------------------------------+
| date_diff('second', '2010-11-30 23:59:59', '2010-11-30 20:58:59') |
+-------------------------------------------------------------------+
| 10860 |
+-------------------------------------------------------------------+

mysql> select date_diff('minute', '2010-11-30 23:59:59', '2010-11-30 20:58:59');
+-------------------------------------------------------------------+
| date_diff('minute', '2010-11-30 23:59:59', '2010-11-30 20:58:59') |
+-------------------------------------------------------------------+
| 181 |
+-------------------------------------------------------------------+

mysql> select date_diff('hour', '2010-11-30 23:59:59', '2010-11-30 20:58:59');
+-----------------------------------------------------------------+
| date_diff('hour', '2010-11-30 23:59:59', '2010-11-30 20:58:59') |
+-----------------------------------------------------------------+
| 3 |
+-----------------------------------------------------------------+

mysql> select date_diff('millisecond', '2010-11-30 23:59:59', '2010-11-30 20:58:59');
+------------------------------------------------------------------------+
| date_diff('millisecond', '2010-11-30 23:59:59', '2010-11-30 20:58:59') |
+------------------------------------------------------------------------+
| 10860000 |
+------------------------------------------------------------------------+

References

datediff