Comment : |
Langages disponibles : reporting, Maintain
La fonction HDIFF fait le calcul du nombre d'unités entre deux valeurs date-heure.
HDIFF(end_dt, start_dt, 'component', output)
où :
Date-heure
est la valeur date-heure à incrémenter, le nom du champ date-heure qui contient la valeur, ou une expression qui renvoie celle-ci.
Date-heure
est la valeur date-heure à soustraire, le nom du champ date-heure qui contient la valeur, ou une expression qui renvoie celle-ci.
Alphanumérique
est le nom du composant à utiliser pour le calcul, entouré par des guillemets simples. Si le composant indique une semaine, le paramètre WEEKFIRST est utilisé dans le calcul.
Virgule flottante (double précision
est le champ qui contient le résultat, ou le format de la valeur de sortie entre guillemets simples. Le format doit être une virgule flottante en double précision.
HDIFF calcule le nombre de jours entre les champs TRANSDATE et ADD_MONTH; le résultat est enregistré dans DIFF_PAYS, qui est au format par défaut est D12.2 :
TABLE FILE VIDEOTR2
PRINT CUSTID TRANSDATE AS 'DATE-TIME' AND COMPUTE
ADD_MONTH/HYYMDS = HADD(TRANSDATE, 'MONTH', 2, 8, 'HYYMDS');
DIFF_DAYS/D12.2 = HDIFF(ADD_MONTH, TRANSDATE, 'DAY', 'D12.2');
WHERE DATE EQ 2000;
END
La sortie est :
CUSTID DATE-TIME ADD_MONTH DIFF_DAYS ------ --------- --------- --------- 1237 2000/02/05 03:30 2000/04/05 03:30:00 60.00 1118 2000/06/26 05:45 2000/08/26 05:45:00 61.00
HDIFF calcule le nombre de jours entre ADD_MONTH et DT1 :
MAINTAIN FILE DATETIME
FOR 1 NEXT ID INTO STK;
COMPUTE
NEW_DATE/HYYMDS = HADD(STK.DT1, 'MONTH', 2,10, NEW_DATE);
DIFF_DAYS/D12.2 = HDIFF(NEW_DATE,STK.DT1,'DAY', DIFF_DAYS);
TYPE "STK(1).DT1 = "STK(1).DT1;
TYPE "NEW_DATE = "NEW_DATE;
TYPE "DIFF_DAYS = "DIFF_DAYS
END
Information Builders |