Funkcja timediff
Dotyczy: Databricks SQL Databricks Runtime 14.0 i nowsze
Zwraca różnicę między dwoma znacznikami czasu mierzonymi w unit
s. Ta funkcja jest synonimem funkcji timestampdiff.
Składnia
timediff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumenty
unit
: jednostka miary.start
: wyrażenie początkoweTIMESTAMP
.end
: wyrażenie końcoweTIMESTAMP
.
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 timediff(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 timediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT timediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120