datediff
(timestamp) 函式
適用於: Databricks SQL Databricks Runtime 10.4 LTS 和更新版本
傳回以 unit
測量的兩個時間戳記之間的差異。 此函式與 timestampdiff 函式同義。
語法
datediff(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秒計算整個經過的單位。
當行事曆月份增加且日曆日和時間等於或大於開始時,就會將一個月視為經過。 之後的幾周、季度和年份。
範例
-- One second shy of a month elapsed
> SELECT datediff(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 datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT datediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120