Aracılığıyla paylaş


date_diff 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 13.3 LTS ve üzeri

s cinsinden ölçülen unitiki zaman damgası arasındaki farkı döndürür. date_diff(zaman damgası), timestampdiff işlevinin eş anlamlısıdır.

Söz dizimi

date_diff(unit, start, end)

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

Bağımsız değişkenler

  • unit: Ölçü birimi.
  • start: Bir başlangıç TIMESTAMP ifadesi.
  • end: 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 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