Amazon Redshift unterstützt ab Patch 198 nicht mehr die Erstellung neuer Python-UDFs. Bestehende Python-UDFs werden bis zum 30. Juni 2026 weiterhin funktionieren. Weitere Informationen finden Sie im Blog-Posting
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
DATEoder ein Ausdruck, der implizit zu einemDATE-Typ ausgewertet wird. - date2
-
Eine Spalte vom Datentyp
DATEoder ein Ausdruck, der implizit zu einemDATE-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