次の方法で共有


timediff 関数

適用対象: check marked yes Databricks SQL Databricks Runtime 14.0 以降

unit で測定された 2 つのタイムスタンプの差を返します。 この関数は timestampdiff 関数のシノニムです。

構文

timediff(unit, start, end)

unit
 { MICROSECOND |
   MILLISECOND |
   SECOND |
   MINUTE |
   HOUR |
   DAY |
   WEEK |
   MONTH |
   QUARTER |
   YEAR }

引数

  • unit: 測定単位。
  • start: TIMESTAMP 式 で開始。
  • end: TIMESTAMP 式 で終了。

返品

BIGINT です。

startend より大きい場合、結果は負になります。

この関数は、UTC に基づいて経過した単位全体をカウントします。DAY は 86400 秒です。

暦月が増加し、暦日と時刻が開始時刻以降になると、1 か月が経過したと見なされます。 週、四半期、年はそこから続きます。

-- One second shy of a month elapsed
> SELECT timediff(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 timediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

-- Start is greater than the end
> SELECT timediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
 -120