共用方式為


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