datediff
(timestamp)-Funktion
Gilt für: Databricks SQL Databricks Runtime 10.4 LTS und höher
Gibt den Unterschied zwischen zwei Zeitstempeln zurück, die in unit
s gemessen werden. Diese Funktion ist ein Synonym für die Funktion timestampdiff.
Syntax
datediff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumente
unit
: Eine Berechnungseinheit.start
: EinTIMESTAMP
-Anfangsausdruck.end
: EinTIMESTAMP
-Endausdruck.
Gibt zurück
Ein BIGINT
.
Ist start
größer als end
, ist das Ergebnis negativ.
Die Funktion zählt ganze verstrichene Einheiten basierend auf UTC
, wobei DAY
86.400 Sekunden entspricht.
Ein Monat gilt als verstrichen, wenn der Kalendermonat erhöht wurde und der Kalendertag und die Uhrzeit mindestens ihren anfänglichen Werten entsprechen. Daraus werden Wochen, Quartale und Jahre berechnet.
Beispiele
-- 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