Fonctions DA : Convertir une date en nombre entier

Comment :

Langages disponibles : reporting, Maintain

Les fonctions DA convertissent une date héritée en nombre de jours entre cette dernière et la date de base (31 Décembre 1899). En convertissant une date en nombre de jours, vous pouvez ajouter et soustraire des dates et calculer les intervalles entre elles, ou vous pouvez ajouter ou soustraire des nombres à partir des dates pour en obtenir des nouvelles.

Il existe six fonctions DA; dont chacune accepte une date dans un format différent.


Haut de page

x
Syntaxe : Convertir une date en un entier
function(indate, output)

où :

function

indique une des choses suivantes :

DADMY convertit une date au format jour-mois-année

DADYM convertit une date au format jour-année-mois.

DAMDY convertit une date au format mois-jour-année.

DAMYD convertit une date au format mois-année-jour.

DAYDM convertit une date au format année-jour-mois.

DAYMD convertit une date au format année-mois-jour.

indate

I6xxx ou P6xxx, où xxx correspond à la fonction DAxxx que vous utilisez.

est la date héritée à convertir, ou le nom du champ qui contient la date. La date est tronquée à un nombre entier avant la conversion. Si indate est un littéral numérique, n'entrez que les deux derniers chiffres de l'année, la fonction supposera le composant siècle. Si la date est incorrecte, la fonction renvoie la valeur 0.

output

Entier

est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. Le format de la date renvoyée dépend de la fonction.



Exemple : Convertir les dates et le calcul de la différence entre elles

DAYMD convertit les champs DAT_INC et HIRE_DATE en un format indiquant le nombre de jours écoulés depuis le 31 décembre 1899 ; le nombre le plus petit est alors soustrait du plus grand :

TABLE FILE EMPLOYEE
PRINT DAT_INC AS 'RAISE DATE' AND COMPUTE
DAYS_HIRED/I8 = DAYMD(DAT_INC, 'I8') - DAYMD(HIRE_DATE, 'I8');
BY LAST_NAME BY FIRST_NAME
IF DAYS_HIRED NE 0
WHERE DEPARTMENT EQ 'PRODUCTION';
END

La sortie est :

LAST_NAME     FIRST_NAME  RAISE DATE  DAYS_HIRED
---------     ----------  ----------  ----------
IRVING        JOAN          82/05/14         130
MCKNIGHT      ROGER         82/05/14         101
SMITH         RICHARD       82/05/14         130
STEVENS       ALFRED        82/01/01         578
                            81/01/01         213

Information Builders