days_diff
説明
2 つの日付式(expr1
− expr2
)の間の日数の差を、日単位で返します。
days_diff と datediff の違い:
Function | 動作 | 例 |
---|---|---|
days_diff | 計算は秒単位で正確で、最も近い整数に切り捨てられます。 | '2020-12-25 23:00:00' と '2020-12-24 23:00:01' の days_diff は 0 です。 |
datediff | 計算は日単位で正確です。 | '2020-12-25 23:00:00' と '2020-12-24 23:00:01' の datediff は 1 です。 |
構文
BIGINT days_diff(DATETIME expr1,DATETIME expr2);
パラメータ
-
expr1
: 終了時間。DATETIME または DATE 型である必要があります。 -
expr2
: 開始時間。DATETIME または DATE 型である必要があります。
戻り値
BIGINT 値を返します。
日付が存在しない場合、例えば 2022-02-29 の場合は NULL が返されます。days_diff() は時間、分、秒の部分を計算に含めます。差が 1 日未満の場合、0 が返されます。
例
select days_diff('2010-11-30 23:00:00', '2010-11-29 23:00:00')
+---------------------------------------------------------+
| days_diff('2010-11-30 23:00:00', '2010-11-29 23:00:00') |
+---------------------------------------------------------+
| 1 |
+---------------------------------------------------------+
select days_diff('2010-11-30 23:00:00', '2010-11-29 23:10:00')
+---------------------------------------------------------+
| days_diff('2010-11-30 23:00:00', '2010-11-29 23:10:00') |
+---------------------------------------------------------+
| 0 |
+---------------------------------------------------------+