適用於:
Databricks SQL
Databricks Runtime 13.3 LTS 和更新版本
傳回以 unit 測量的兩個時間戳記之間的差異。
date_diff(時間戳記)是功能(function)的同義詞timestampdiff。
語法
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
引數
-
unit:量值單位。 -
start:起始的 TIMESTAMP 表達式。 -
end:結束時間戳運算式。
傳回
BIGINT。
如果 start 大於 end 結果為負數。
函式會根據 UTCDAY 86400秒計算整個經過的單位。
當行事曆月份增加且日曆日和時間等於或大於開始時,就會將一個月視為經過。 之後的幾周、季度和年份。
範例
-- 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