Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime 13.3 LTS ve üzeri
İki tarih arasındaki farkı gün cinsinden veya belirli bir birimdeki iki zaman damgası arasındaki farkı döndürür.
Söz dizimi
date_diff(endDate, startDate)
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Bağımsız değişkenler
-
endDate: Bir bitişDATEifadesi. -
startDate: BaşlangıçDATEifadesi. -
unit: Ölçü birimi. -
start: BaşlangıçTIMESTAMPifadesi. -
end: Bir bitişTIMESTAMPifadesi.
Döndürülenler
- Için
date_diff(endDate, startDate), anINTEGERile arasındaki günstartDateendDatesayısını temsil eder. - Için
date_diff(unit, start, end), aBIGINTile s'de ölçülenunitfarkıstartendtemsil eder. Bu biçim, işlevintimestampdiffeşanlamlıdır.
Başlangıç değeri bitiş değerinden büyükse sonuç negatiftir.
İşlev, 86400 saniyeye göre UTCDAY 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
> SELECT date_diff(DATE'2009-07-31', DATE'2009-07-30');
1
-- 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