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
oderTIMESTAMP
bzw. ein Ausdruck, der implizit zu einemDATE
- oderTIMESTAMP
-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