Utiliser les fonctions de date héritée

Dans cette section :

Les fonctions de date héritée ont été créées pour être utilisées avec des dates dans des entiers, des décimal condensés, ou le format alphanumérique.

Pour plus d'informations sur chaque fonction de date héritée, consultez :

AYM : Ajouter ou Soustraire des Mois

AYM : Ajouter ou Soustraire des Jours

CHGDAT : Modifier l'affichage d'une chaîne de date

Fonctions DA : Convertir une date en nombre entier

DMY, MDY, YMD : Calculer la différence entre deux dates

DOWK et DOWKL : Rechercher le jour de la semaine

Fonctions DT : Convertir un nombre entier en une date

GREGDT : Convertir le format Julien en format Grégorien

JULDAT : Convertir le format Grégorien en format Julien

YM : Calculer les mois écoulés


Haut de page

x
Utiliser les anciennes version de fonctions de date héritées

Comment :

Les fonctions décrites dans cette section sont des fonctions de dates héritées. Elles ont été créées pour être utilisées avec des dates au format alphanumérique ou entier. Elles ne sont plus recommandées pour la manipulation de dates. Les date standard et fonctions date-heure sont conseillées.

Toutes les fonctions de date héritées prennent en charge les dates pour l'année 2000 et ultérieures. Les anciennes versions de ces fonctions peuvent ne pas fonctionner correctement avec des dates après le 31 Décembre 1999. Cependant, vous pouvez dans certains cas utiliser l'ancienne version d'une fonction, par exemple, si vous n'utilisez pas les dates de l'an 2000. Vous pouvez désactiver la version actuelle avec le paramètre DATEFNS.



x
Syntaxe : Activer les fonctions de date anciennes héritées
SET DATEFNS = {ON|OFF}

où :

ON

Active la fonction qui prend en charge les dates pour l'année 2000 et ultérieure. ON est la valeur par défaut.

OFF

Désactive la fonction qui prend en charge les dates pour l'année 2000 et ultérieure.


Haut de page

x
Utiliser les dates avec des années à Deux et Quatre chiffres

Les fonctions de date héritées acceptent les dates avec des années à deux ou quatre chiffres. Les années à quatre chiffres qui affichent le siècle, comme 2000 ou 1900, peuvent être utilisées si leurs formats sont spécifiés comme I8YYMD, P8YYMD, D8YYMD, F8YYMD, ou A8YYMD. Les années à deux chiffres peuvent utiliser les paramètres DEFCENT et YRTHRESH pour attribuer des valeurs de siècle si le champ a une longueur de six caractères (par exemple, I6YMD). Pour plus d'informations sur ces paramètres, consultez Personnalisation de votre environnement dans Développement d'applications de reporting.



Exemple : Utiliser des années à quatre chiffres

La fonction EDIT crée des dates à quatre chiffres. Les fonctions JULDAT et GREGDT convertissent ensuitre ces dates au formats Julien et Grégorien.

DEFINE FILE EMPLOYEE
DATE/I8YYMD = EDIT('19'|EDIT(HIRE_DATE));
JDATE/I7 = JULDAT(DATE, 'I7');
GDATE/I8 = GREGDT(JDATE, 'I8');
END
TABLE FILE EMPLOYEE
PRINT DATE JDATE GDATE
END

La sortie est :

      DATE    JDATE     GDATE
      ----    -----     -----
1980/06/02  1980154  19800602
1981/07/01  1981182  19810701
1982/05/01  1982121  19820501
1982/01/04  1982004  19820104
1982/08/01  1982213  19820801
1982/01/04  1982004  19820104
1982/07/01  1982182  19820701
1981/07/01  1981182  19810701
1982/04/01  1982091  19820401
1982/02/02  1982033  19820202
1982/04/01  1982091  19820401
1981/11/02  1981306  19811102
1982/04/01  1982091  19820401
1982/05/15  1982135  19820515


Exemple : Utiliser des années à deux chiffres

La fonction AYMD renvoie une date à huit chiffres lorsque l'argument de saisie contient un format de date héritée à six chiffres. Puisque DEFCENT est de 19 et YRTHRESH de 83, les valeurs de l'année de 83 à 99 sont interprétées comme de 1983 à 1999, et les valeurs de l'année de 00 à 82 sont interprétées comme de 2000 à 2082.

SET DEFCENT=19, YRTHRESH=83
 
DEFINE FILE EMPLOYEE
NEW_DATE/I8YYMD = AYMD(EFFECT_DATE, 30, 'I8');
END
 
TABLE FILE EMPLOYEE
PRINT EFFECT_DATE NEW_DATE BY EMP_ID
END

La sortie est :

EMP_ID     EFFECT_DATE    NEW_DATE
------     -----------    --------
071382660
112847612
117593129     82/11/01  2082/12/01
119265415
119329144     83/01/01  1983/01/31
123764317     83/03/01  1983/03/31
126724188
219984371
326179357     82/12/01  2082/12/31
451123478     84/09/01  1984/10/01
543729165
818692173     83/05/01  1983/05/31

Information Builders