Comment : Référence : |
Langages disponibles : reporting, Maintain
La fonction CHGDAT réorganise les éléments d'année, de mois et de jour d'une chaîne de caractères de saisie représentant une date. Elle permet également la conversion en représentation de date longue ou courte d'une chaîne de saisie. La représentation longue contient tous trois des composants de date dont l'année, le mois et le jour; la représentation courte omet une ou deux composants de date, comme l'année, le mois ou le jour. Les chaînes de date saisie et de sortie sont décrites par les options d'affichage précisant à la fois l'ordre des composants de date (année, mois, jour) à la chaîne de date, et si deux ou quatre chiffres sont utilisés pour l'année (par exemple, 04 ou 2004). CHGDAT lit une chaîne de caractères de date saisie et crée une chaîne de caractères de date de sortie qui représente la même date d'une façon différente.
Remarque : CHGDAT exige une chaîne de caractère de dates comme entrée et non la date elle-même. Que l'entrée soit une date standard ou héritée, convertissez-la en une chaîne de caractères de date (en utilisant les fonctions EDIT ou DATECVT, par exemple) avant d'appliquer CHGDAT.
Le rangement des composants de date dans la chaîne de caractères de date est décrite par les options d'affichage comprenant les caractères suivants dans le rangement de votre choix :
Caractère |
Description |
---|---|
D |
Jour du mois (01 à 31). |
M |
Mois de l'année (de 01 jusqu'à 12). |
Y[Y] |
Année. Y indique une année à deux chiffres (telle que 94); YY indique une année à quatre chiffres (telle que 1994). |
Pour épeler le mois plutôt que d'utiliser un nombre dans la chaîne résultante, ajoutez l'un des caractères suivants aux options d'affichage pour la chaîne résultante :
Caractère |
Description |
---|---|
T |
Affiche le mois comme une abréviation à trois lettres. |
X |
Affiche le nom du mois en entier. |
Les options d'affichage peuvent contenir au maximum cinq caractères. Les caractères autres que ceux qui sont les options d'affichage sont ignorés.
Par exemple, les options d'affichage DMYY spécifient que la chaîne de date commence par un jour à deux chiffres, un mois à deux chiffres et une année à quatre chiffres.
Remarque : Les options d'affichage ne sont pas des formats de date.
Si vous convertissez une date d'une représentation longue en une représentation courte (par exemple, du format année-mois au format année-mois-jour), la fonction fournit la partie manquante de la date dans la représentation courte, comme l'indique le tableau suivant :
Partie de date manquante |
Partie fournie par la fonction |
---|---|
Jour (par exemple, de YM à YMD) |
Dernier jour du mois. |
Mois (par exemple, de Y à YM) |
Dernier mois de l'année (décembre). |
Année (par exemple, de MD à YMD) |
L'année 99. |
Convertir une année du format à deux chiffres en format à quatre chiffres (par exemple, de YMD à YYMD) |
Si DATEFNS est activé (ON), le siècle sera déterminé par les périodes de 100 ans définies par DEFCENT et YRTHRESH. Consultez Personnalisation de votre environnement dans Développement d'applications de reporting ou Travailler avec des dates inter-siècles dans l'archive iBase pour les détails sur DEFCENT et YRTHRESH. Si DATEFNS=OFF, l'année 19 xx est fournie, où xx représente les deux derniers chiffres de l'année. |
CHGDAT('in_display_options','out_display_options',date_string,output)
où :
A1 to A5
est une série de cinq options d'affichage qui décrit la mise en page de date_string. Ces options peuvent être stockées dans un champ alphanumérique ou fournies en tant que littéral entre guillemets simples.
A1 to A5
est une série contenant au maximum cinq options d'affichage qui décrivent la mise en page de la chaîne de date convertie. Ces options peuvent être stockées dans un champ alphanumérique ou fournies en tant que littéral entre guillemets simples.
A2 to A8
est la chaîne du caractère de saisie de date avec les composants de dates dans un ordre spécifié par in_display_options.
Notez que si la date initiale est en format numérique, vous devez la convertir à une chaîne de caractères de date. Si date_string ne représente pas correctement la date (la date est invalide), la fonction renvoie des espaces vides.
Un xx, où xxest un nombre de caractères de taille suffisante pour s'adapter à la chaîne de date spécifiée par out_display_options A17 est assez long pour contenir la plus longue chaîne de date.
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples.
Remarque : puisque CHGDAT utilise une chaîne de date (non une date réelle), et qu'il renvoie une chaîne de date...vous pouvez employer les fonctions EDIT ou DATECVT, ou toute autre façon de convertir la date en une chaîne de caractères.
La fonction EDIT modifie HIRE_DATE d'un format numérique à alphanumérique. CHGDAT convertit ensuite chaque valeur dans ALPHA_HIRE et affiche les composants aux formats YMD à MDYYX; le résultat est enregistré dans HIRE_MDY, qui est au format A17. L'option X dans la valeur de sortie affiche le nom complet du mois.
TABLE FILE EMPLOYEE
PRINT HIRE_DATE AND COMPUTE
ALPHA_HIRE/A17 = EDIT(HIRE_DATE); NOPRINT AND COMPUTE
HIRE_MDY/A17 = CHGDAT('YMD', 'MDYYX', ALPHA_HIRE, 'A17');
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'PRODUCTION';
END
La sortie est :
LAST_NAME FIRST_NAME HIRE_DATE HIRE_MDY --------- ---------- --------- -------- BANNING JOHN 82/08/01 AUGUST 01 1982 IRVING JOAN 82/01/04 JANUARY 04 1982 MCKNIGHT ROGER 82/02/02 FEBRUARY 02 1982 ROMANS ANTHONY 82/07/01 JULY 01 1982 SMITH RICHARD 82/01/04 JANUARY 04 1982 STEVENS ALFRED 80/06/02 JUNE 02 1980
WebFOCUS |