Aracılığıyla paylaş


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

Söz dizimi

timestampdiff(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 timestampdiff(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 timestampdiff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
 1

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