Share via


date_diff 函式

適用於:檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime 13.3 LTS 和更新版本

傳回以 s 測量 unit的兩個時間戳之間的差異。 date_diff(timestamp) 是 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