Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 13.3 LTS und höher
Gibt die Differenz zwischen zwei Daten in Tagen oder zwischen zwei Zeitstempeln in einer bestimmten Einheit zurück.
Syntax
date_diff(endDate, startDate)
date_diff(unit, start, end)
unit
{ MICROSECOND |
MILLISECOND |
SECOND |
MINUTE |
HOUR |
DAY |
WEEK |
MONTH |
QUARTER |
YEAR }
Argumente
-
endDate: EinDATE-Endausdruck. -
startDate: EinDATE-Anfangsausdruck. -
unit: Eine Berechnungseinheit. -
start: EinTIMESTAMP-Anfangsausdruck. -
end: EinTIMESTAMP-Endausdruck.
Gibt zurück
- Für
date_diff(endDate, startDate), , ,INTEGERdas die Anzahl der Tage vonstartDatenachendDatedarstellt. - Für
date_diff(unit, start, end), , dasBIGINTdie Differenz zwischenstartundendgemessen inunits darstellt. Diese Form ist ein Synonym fürtimestampdiffFunktion.
Das Ergebnis ist negativ, wenn der Anfangswert größer als der Endwert ist.
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
> 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