Macro ADD_MONTHS

La macro ADD_MONTHS est disponible dans Unica Campaign. Pour les bases de données ORACLE, DB2 et MS SQL Server il est préférable d'effectuer l'exécution sur la base de données plutôt que sur le serveur Campaign.

Syntaxe

ADD_MONTHS(months, date_string [, input_format[,DB]])

Paramètres

months

Entier représentant un nombre de mois à ajouter à date_string.

date_string

Chaîne de texte représentant une date valide, au format DELIM_M_D_Y ou au format spécifié par l'argument input_format facultatif.

input_format

Format à utiliser pour la date calculée. Pour une liste des formats de date pris en charge, voir la fonction DATE_FORMAT. Notez que input_format détermine le format de la chaîne en entrée, mais aussi de la chaîne en sortie.

DB

Ce paramètre est facultatif. L'exécution de macro est préférable sur la base de données pour les bases de données ORACLE/DB2/MS SQL Server, même si le paramètre de base de données n'est pas spécifié. Pour les autres types de base de données, le comportement reste le même, c'est-à-dire une exécution sur le serveur Campaign.

L'exécution se produira implicitement sur la base de données si l'expression contient une colonne de base de données.

L'exécution aura lieu sur le serveur Campaign si l'expression contient uniquement des colonnes hors colonnes de base de données. par exemple UCGF ou chaînes de date, etc. Pour forcer l'exécution sur la base de données, incluez le paramètre DB. Notez que pour pouvoir spécifier le paramètre DB, vous devez également utiliser impérativement input_format.

Description

ADD_MONTHS renvoie une date après l'ajout du nombre de mois spécifié à la chaîne date_string spécifiée. La date est renvoyée au format par défaut (DELIM_M_D_Y) ou au format spécifié par l'argument input_format facultatif. Si vous souhaitez un format différent en sortie, utilisez DATE_FORMAT.

Si l'augmentation du mois par le nombre de mois spécifié génère une date non valide, le résultat est calculé de sorte à correspondre au dernier jour du mois, comme illustré dans le dernier exemple ci-dessous. Si nécessaire, les années bissextiles sont prises en compte. Par exemple, l'ajout d'un mois à 31-Jan-2012 renvoie 29-Feb-2012.

Exemples

ADD_MONTHS(12, '06-25-11') ajoute un an (12 mois) à la date spécifiée et renvoie la date 06-25-12.

ADD_MONTHS(3, '2011-06-25', DT_DELIM_Y_M_D) ajoute trois mois à la date spécifiée et renvoie la date 2011-09-25.

ADD_MONTHS(1, '02-28-2011') renvoie la date 03-28-2011.

ADD_MONTHS(1, '03-31-2012') renvoie la date 04-30-2012.

Exemples d'expressions et endroit où elles ont été exécutées. Les colonnes DATE1, DATE2 sont des colonnes de la base de données.

Numéro de série Expression Exécution le
1 DATE1 < ADD_MONTHS(1,DATE2) Base de données
2 DATE1 < ADD_MONTHS(1,DATE2,DELIM_M_D_Y,DB) Base de données
3 ADD_MONTHS(1,'02-29-2016',DELIM_M_D_Y,DB) > DATE1 Base de données
4 ADD_MONTHS(24,'2012-02-29',DT_DELIM_Y_M_D) > DATE2 Serveur Campaign
5 ADD_MONTHS(24,'2012-02-29',DT_DELIM_Y_M_D,DB) < DATE2 Base de données
6 DATE2 < ADD_MONTHS(1, DATE2) Serveur Campaign
7 DATE2 < ADD_MONTHS(1, DATE2,DELIM_M_D_Y,DB) Base de données
8 ADD_MONTHS(24,'2012-02-29', DELIM_Y_M_D, DB) > DATE2 Base de données
9 ADD_MONTHS(24,'02-29-2020') > DATE2 Serveur Campaign
10 DATE1 = ADD_MONTHS(1,DATE2) Base de données
11 DATE1 = ADD_MONTHS(1,DATE2,DELIM_M_D_Y,DB) Base de données
12 DATE1 != ADD_MONTHS(1,DATE2,DELIM_M_D_Y,DB) Base de données
13 DATE1 != ADD_MONTHS(1,DATE2) Base de données
14 ADD_MONTHS(3,'11NOV',DDMMM,DB) >DATE_FORMAT( DATE1,DT_DELIM_Y_M_D,DDMMM) Serveur Campaign
15 ADD_MONTHS(0,'2012-02-29',DT_DELIM_Y_M_D) < DATE1 Base de données
16 ADD_MONTHS(-1, DATE1, DT_DELIM_Y_M_D, DB) < DATE2 Base de données

Fonctions associées

Fonction Description
DATE Convertit une chaîne de date en date du calendrier julien.
DATE_FORMAT Convertit une date de input_format en output_format.