Aracılığıyla paylaş


datediff (zaman damgası) işlevi

Şunlar için geçerlidir: onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime 10.4 LTS ve üzeri

s cinsinden ölçülen unitiki zaman damgası arasındaki farkı döndürür. Bu işlev, zaman damgası işlevi için bir eş anlamlıdır.

Söz dizimi

datediff(unit, start, end)

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

Bağımsız değişkenler

  • unit: Ölçü birimi.
  • start: Başlangıç TIMESTAMP ifadesi.
  • end: Bir bitiş TIMESTAMP ifadesi.

Döndürülenler

Bir BIGINT.

Eğer daha büyükse start end sonuç negatiftir.

İşlev, 86400 saniyeye göre UTC DAY geçen birimlerin tamamını sayar.

Takvim ayı arttığında ve takvim günü ve saati başlangıç için eşit veya daha büyük olduğunda bir ay geçtiği kabul edilir. Haftalar, çeyrekler ve yıllar bundan sonra gelir.

Örnekler

-- 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