Dotyczy: Databricks SQL Databricks Runtime 10.4 LTS i nowsze
Zwraca różnicę między dwoma znacznikami czasu mierzonymi w units. Ta funkcja jest synonimem funkcji timestampdiff.
Składnia
datediff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumenty
unit: jednostka miary.
start: wyrażenie początkowe TIMESTAMP .
end: wyrażenie końcowe 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 datediff(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 datediff(MONTH, TIMESTAMP'2021-02-28 12:00:00', TIMESTAMP'2021-03-28 12:00:00');
1
-- Start is greater than the end
> SELECT datediff(YEAR, DATE'2021-01-01', DATE'1900-03-28');
-120
Po ukończeniu tego modułu poznasz znaczenie analizy czasowej i dowiesz się, jak dodać obliczenia języka DAX analizy czasowej do modelu. Te obliczenia będą obejmowały między innymi wzrost od początku roku do daty (YTD) oraz z roku na rok (YoY).