View a markdown version of this page

Funktion MONTHS_BETWEEN - Amazon Redshift

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 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