View a markdown version of this page

Funktion MONTHS_BETWEEN - Amazon Redshift

Amazon Redshift unterstützt die Verwendung von Python-UDFs nach dem 30. Juni 2026 nicht mehr. Wir werden damit beginnen, es schrittweise durchzusetzen. Weitere Informationen zu den Einzelheiten zum Ende der Lebensdauer und zu den Migrationsoptionen von Python finden Sie in dem Blogbeitrag, der am 30. Juni 2025 veröffentlicht wurde.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Funktion MONTHS_BETWEEN

MONTHS_BETWEEN bestimmt die Anzahl der Monate zwischen zwei Daten.

Wenn das erste Datum nach dem zweiten Datum liegt, ist das Ergebnis positiv, andernfalls ist es negativ.

Wenn eines der Argumente Null ist, ist das Ergebnis NULL.

Syntax

MONTHS_BETWEEN( date1, date2 )

Argumente

date1

Eine Spalte vom Datentyp DATE oder ein Ausdruck, der implizit zu einem DATE-Typ ausgewertet wird.

date2

Eine Spalte vom Datentyp DATE oder ein Ausdruck, der implizit zu einem DATE-Typ ausgewertet wird.

Rückgabetyp

FLOAT8

Der ganzzahlige Teil des Ergebnisses basiert auf der Differenz zwischen den Jahr- und Monat-Werten der Datumsangaben. Der Bruchteil des Ergebnisses wird aus den Tag- und Zeitstempelwerten der Datumsangabe unter Zugrundelegung eines Monats mit 31 Tagen berechnet.

Wenn Date1 und Datum2 beide dasselbe Datum innerhalb eines Monats (z. B. 1/15 /14 und 2/15 /14) oder den letzten Tag des Monats (z. B. /14 und 8/31 /14) enthalten, ist das Ergebnis eine ganze Zahl, die auf den Jahres- und 9/30 Monatswerten der Datumsangaben basiert, unabhängig davon, ob der Zeitstempelteil übereinstimmt, falls vorhanden.

Beispiele

Das folgende Beispiel gibt die Monate zwischen /1969 und /1969 zurück. 1/18 3/18

select months_between('1969-01-18', '1969-03-18') as months; months ---------- -2

Das folgende Beispiel gibt die Monate zwischen /1969 und /1969 zurück. 1/18 1/18

select months_between('1969-01-18', '1969-01-18') as months; months ---------- 0

Das folgende Beispiel gibt die Monate zwischen dem ersten und der letzten Vorkommen eines Ereignisses zurück.

select eventname, min(starttime) as first_show, max(starttime) as last_show, months_between(max(starttime),min(starttime)) as month_diff from event group by eventname order by eventname limit 5; eventname first_show last_show month_diff --------------------------------------------------------------------------- .38 Special 2008-01-21 19:30:00.0 2008-12-25 15:00:00.0 11.12 3 Doors Down 2008-01-03 15:00:00.0 2008-12-01 19:30:00.0 10.94 70s Soul Jam 2008-01-16 19:30:00.0 2008-12-07 14:00:00.0 10.7 A Bronx Tale 2008-01-21 19:00:00.0 2008-12-15 15:00:00.0 10.8 A Catered Affair 2008-01-08 19:30:00.0 2008-12-19 19:00:00.0 11.35