Funkcja date_diff
Dotyczy: Databricks SQL Databricks Runtime 13.3 LTS i nowsze
Zwraca różnicę między dwoma znacznikami czasu mierzonymi w unit
s. date_diff
(sygnatura czasowa) jest synonimem funkcji timestampdiff.
Składnia
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumenty
unit
: jednostka miary.start
: początkowe wyrażenie TIMESTAMP.end
: kończące się wyrażenie TIMESTAMP.
Zwraca
Klasa BIGINT
.
Jeśli start
wynik jest większy niż end
wynik jest ujemny.
Funkcja zlicza całe upłynął jednostki na UTC
podstawie wartości DAY
86400 sekund.
Jeden miesiąc jest uznawany za upłynął, gdy miesiąc kalendarzowy wzrósł, a dzień kalendarzowy i godzina są równe lub większe od początku. Tygodnie, kwartały i lata następują z tego.
Przykłady
-- 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