ADD_MONTHS-Makro
Das ADD_MONTHS
Makro ist in Unica Campaign verfügbar. Bei ORACLE-, DB2- und MSSQLServer-Datenbanken wird die Ausführung auf der Datenbank statt auf dem Campaign Server bevorzugt.
Syntax
ADD_MONTHS(months, date_string [, input_format[,DB]])
Parameter
months
Eine Ganzzahl, die eine Anzahl von Monaten darstellt, die zu [Datumszeichenfolge] addiert werden soll.
date_string
Eine Zeichenfolge, die ein gültiges Datum in dem Format "DELIM_M_D_Y" oder in dem durch das optionale Argument input_format angegebenen Format darstellt.
input_format
Das Format, das für das berechnete Datum verwendet werden soll. Eine Liste der unterstützten Datumsformate finden Sie unter der Funktion DATE_FORMAT. Beachten Sie, dass das input_format
sowohl das Format der Eingabezeichenkette als auch das Format der Ausgabezeichenkette bestimmt.
Datenbank
Dieser Parameter ist optional. Bei ORACLE/DB2/MSSQLServer wird die Makroausführung auf der Datenbank bevorzugt, auch wenn der Parameter DB nicht angegeben ist. Für die übrigen Datenbanktypen bleibt das Verhalten gleich, d. h. die Ausführung auf dem Campagne-Server.
Die Ausführung wird implizit auf Datenbank ausgeführt, wenn der Ausdruck eine Datenbank enthält.
Die Ausführung erfolgt auf dem Campaign-Server, wenn der Ausdruck alle Nicht-Datenbankspalten enthält, z. B. UCGF oder Datumszeichenfolgen usw. Um die Ausführung in der Datenbank zu erzwingen, fügen Sie den Parameter DB ein. Bitte beachten Sie, dass Sie auch input_format verwenden müssen, um DB-Parameter angeben zu können.
Beschreibung
ADD_MONTHS
gibt ein Datum zurück, das sich aus der Addition der angegebenen Anzahl von Monaten zu der angegebenen Datumszeichenfolge ergibt. Das Datum wird in dem Standardformat "DELIM_M_D_Y" oder in dem durch das optionale Argument input_format angegebenen Format zurückgegeben. Mithilfe von DATE_FORMAT können Sie ein anderes Ausgabeformat festlegen.
Wenn die Erhöhung des Monats um die angegebene Anzahl von Monaten ein ungültiges Datum erzeugt, wird als Ergebnis der letzte Tag des Monats berechnet, wie im letzten der folgenden Beispiele zu sehen. Gegebenenfalls werden auch Schaltjahre berücksichtigt. Wenn beispielsweise zum 31. Januar 2012 ein Monat addiert wird, ergibt sich der 29. Februar 2012.
Beispiele
ADD_MONTHS(12, '06-25-11')
addiert zu dem angegebenen Datum ein Jahr (12 Monate) und gibt das Datum 06-25-12 zurück.
ADD_MONTHS(3, '2011-06-25', DT_DELIM_Y_M_D)
addiert zu dem angegebenen Datum drei Monate und gibt das Datum 2011-09-25 zurück.
ADD_MONTHS(1, '02-28-2011')
gibt das Datum 03-28-2011 zurück.
ADD_MONTHS(1, '03-31-2012')
gibt das Datum 04-30-2012 zurück.
Beispielausdrücke und deren Ausführung. DATE1 und DATE2 sind Datenbankspalten.
S.No | Ausdruck | Ausführung am |
---|---|---|
1 | DATE1 < ADD_MONTHS(1,DATE2) | Datenbank |
2 | DATE1 < ADD_MONTHS(1,DATE2,DELIM_M_D_Y,DB) | Datenbank |
3 | ADD_MONTHS(1,'02-29-2016',DELIM_M_D_Y,DB) > DATE1 | Datenbank |
4 | ADD_MONTHS(24,'2012-02-29',DT_DELIM_Y_M_D) > DATE2 | Campaign-Server |
5 | ADD_MONTHS(24,'2012-02-29',DT_DELIM_Y_M_D,DB) < DATE2 | Datenbank |
6 | DATE2 < ADD_MONTHS(1, DATE2) | Campaign-Server |
7 | DATE2 < ADD_MONTHS(1, DATE2,DELIM_M_D_Y,DB) | Datenbank |
8 | ADD_MONTHS(24,'2012-02-29', DELIM_Y_M_D, DB) > DATE2 | Datenbank |
9 | ADD_MONTHS(24,'02-29-2020') > DATE2 | Campaign-Server |
10 | DATE1 = ADD_MONTHS(1,DATE2) | Datenbank |
11 | DATE1 = ADD_MONTHS(1,DATE2,DELIM_M_D_Y,DB) | Datenbank |
12 | DATE1 != ADD_MONTHS(1,DATE2,DELIM_M_D_Y,DB) | Datenbank |
13 | DATE1 != ADD_MONTHS(1,DATE2) | Datenbank |
14 | ADD_MONTHS(3,'11NOV',DDMMM,DB) >DATE_FORMAT( DATE1,DT_DELIM_Y_M_D,DDMMM) | Campaign-Server |
15 | ADD_MONTHS(0,'2012-02-29',DT_DELIM_Y_M_D) < DATE1 | Datenbank |
16 | ADD_MONTHS(-1, DATE1, DT_DELIM_Y_M_D, DB) < DATE2 | Datenbank |
Zugehörige Funktionen
Funktion | Beschreibung |
---|---|
DATE |
Wandelt eine Datumszeichenfolge in ein julianisches Datum um. |
DATE_FORMAT |
Wandelt ein Datum von input_format in output_format um. |