Funktion ADD_MONTHS - Amazon Redshift

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 ADD_MONTHS

ADD_MONTHS fügt die angegebene Zahl von Monaten zu einem Datums- oder Zeitstempelwert bzw. -ausdruck hinzu. Die Funktion DATEADD bietet eine ähnliche Funktionalität.

Syntax

ADD_MONTHS( {date | timestamp}, integer)

Argumente

date | timestamp

Eine Spalte vom Datentyp DATE oder TIMESTAMP bzw. ein Ausdruck, der implizit zu einem DATE- oder TIMESTAMP-Typ ausgewertet wird. Wenn das Datum der letzte Tag des Monats ist, oder wenn der resultierende Monat kürzer ist, gibt die Funktion im Ergebnis den letzten Tag des Monats aus. Für andere Datumsangaben enthält das Ergebnis die gleiche Tagesnummer wie der Datumsausdruck.

integer

Ein Wert vom Datentyp INTEGER. Verwenden Sie eine negative Zahl, um Monate von Datumsangaben abzuziehen.

Rückgabetyp

TIMESTAMP

Beispiele

Die folgende Abfrage verwendet die Funktion ADD_MONTHS innerhalb einer TRUNC-Funktion. Die TRUNC-Funktion entfernt die Tageszeit aus dem Ergebnis von ADD_MONTHS. Die Funktion ADD_MONTHS fügt jedem Wert aus der Spalte CALDATE 12 Monate hinzu. Die Werte in der Spalte CALDATE sind Datumsangaben.

select distinct trunc(add_months(caldate, 12)) as calplus12, trunc(caldate) as cal from date order by 1 asc; calplus12 | cal ------------+------------ 2009-01-01 | 2008-01-01 2009-01-02 | 2008-01-02 2009-01-03 | 2008-01-03 ... (365 rows)

Im folgenden Beispiel wird die Funktion ADD_MONTHS verwendet, um einem Zeitstempel einen Monat hinzuzufügen.

select add_months('2008-01-01 05:07:30', 1); add_months --------------------- 2008-02-01 05:07:30

Die folgenden Beispiele illustrieren die Verhaltensweise, wenn die Funktion ADD_MONTHS für Datumsangaben verwendet wird, die Monate mit unterschiedlichen Anzahlen von Tagen enthalten. Dieses Beispiel zeigt, wie die Funktion das Hinzufügen eines Monats zum 31. März und das Hinzufügen eines Monats zum 30. April handhabt. Der April hat 30 Tage. Wenn Sie also zum 31. März einen Monat hinzufügen, ergibt sich der 30. April. Der Mai hat 31 Tage. Wenn Sie also zum 30. April einen Monat hinzufügen, ergibt sich der 31. Mai.

select add_months('2008-03-31',1); add_months --------------------- 2008-04-30 00:00:00 select add_months('2008-04-30',1); add_months --------------------- 2008-05-31 00:00:00