date_diff
関数
適用対象: Databricks SQL Databricks Runtime 13.3 LTS 以上
unit
で測定された 2 つのタイムスタンプの差を返します。 date_diff
(timestamp) は timestampdiff 関数のシノニムです。
構文
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
引数
unit
: 測定単位。start
: 開始 TIMESTAMP 式。end
: 終了 TIMESTAMP 式。
返品
BIGINT
です。
start
が end
より大きい場合、結果は負になります。
この関数は、UTC
に基づいて経過した単位全体をカウントします。DAY
は 86400 秒です。
暦月が増加し、暦日と時刻が開始時刻以降になると、1 か月が経過したと見なされます。 週、四半期、年はそこから続きます。
例
-- One second shy of a month elapsed
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 11:59:59');
0
-- One month has passed even though its' not end of the month yet because day and time line up.
> SELECT date_diff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT date_diff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120