HMIDNT : Définition de l'élément d'heure à minuit dans une valeur date-heure

Comment :

Langages disponibles : reporting, Maintain

La fonction HMIDNT modifie une portion de l'heure d'une valeur date-heure à minuit (zéro par défaut). Cela vous permet de comparer un champ de date avec un champ date-heure.


Haut de page

x
Syntaxe : Définir la partie heure d'une valeur date-heure comme 'minuit'
HMIDNT(datetime, length, output)

où :

datetime

Date-heure

est la valeur date-heure dont l'heure va être définie à minuit, le nom du champ date-heure qui contient la valeur, ou une expression qui renvoie celle-ci.

length

Entier

est la longueur de la valeur date-heure renvoyée. Voici les valeurs valables :

  • 8 indique la valeur d'heure en millisecondes.
  • 10 indique la valeur d'heure en microsecondes.
  • 12 indique la valeur d'heure en millisecondes.
output

Date-heure

est la valeur date-heure de renvoi dont l'heure est définie à minuit et dont la date est copiée de l'horodatage. est le champ qui contient le résultat, ou le format entier de la valeur de sortie entre guillemets simples. Le format doit être au format date-heure (type de données H).



Exemple : Définition de l'heure à minuit (Reporting)

HMIDNT définit à minuit l'élément d'heure du champ TRANSDATE d'abord dans le système 24 heures, puis dans le système 12 heures :

TABLE FILE VIDEOTR2
PRINT CUSTID TRANSDATE AS 'DATE-TIME' AND COMPUTE
TRANSDATE_MID_24/HYYMDS  = HMIDNT(TRANSDATE, 8, 'HYYMDS');
TRANSDATE_MID_12/HYYMDSA = HMIDNT(TRANSDATE, 8, 'HYYMDSA');
WHERE DATE EQ 2000;
END

La sortie est :

CUSTID  DATE-TIME         TRANSDATE_MID_24     TRANSDATE_MID_12 
------  ---------         ----------------     ---------------- 
1118    2000/06/26 05:45  2000/06/26 00:00:00  2000/06/26 12:00:00AM
1237    2000/02/05 03:30  2000/02/05 00:00:00  2000/02/05 12:00:00AM


Exemple : Définition de l'heure à minuit (Maintain)

HMIDNT définit à minuit l'élément d'heure du champ DT1 dans les systèmes 24 heures et 12 heures :

MAINTAIN FILE DATETIME
FOR 1 NEXT ID INTO STK;
COMPUTE
DT_MID_24/HYYMDS = HMIDNT(STK(1).DT1, 8, DT_MID_24);
DT_MID_12/HYYMDSA= HMIDNT(STK(1).DT1, 8, DT_MID_12);
TYPE "STK(1).DT1 = "STK(1).DT1;
TYPE "DT_MID_24 = <DT_MID_24";
TYPE "DT_MID_12 = <DT_MID_12";
END

WebFOCUS