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