HMIDNT: Cómo establecer en medianoche la porción de hora de un valor fecha-hora

Cómo:

Idiomas disponibles: informes, Maintain

La función HMIDNT cambia a medianoche (por defecto, todo ceros) la porción de hora de un valor fecha-hora. Esto le permite comparar un campo de fecha con otro de fecha-hora.


Principio de página

x
Sintaxis: Cómo Establecer en medianoche la porción de hora de un valor fecha-hora
HMIDNT(datetime, length, output)

donde:

datetime

Fecha-hora

Es el valor de fecha-hora cuya hora se va a establecer en medianoche, el nombre del campo fecha-hora que contiene el valor o una expresión que devuelve el valor.

length

Número entero

Es la longitud del valor devuelto de fecha-hora. Los valores válidos son:

  • 8 indica un valor de hora que incluye milisegundos.
  • 10 indica un valor de hora que incluye microsegundos.
  • 12 indica un valor de hora que incluye nanosegundos.
output

Fecha-hora

Es el valor devuelto de fecha-hora cuya hora se ha establecido en la medianoche y cuya fecha se ha copiado de la marca de tiempo. Es el campo que contiene el resultado o el formato del valor de salida, entre comillas simples. El formato debe ser de fecha-hora (datos de tipo H).



Ejemplo: Cómo establecer la hora en medianoche (Lenguaje de informes)

Primero, HMIDNT establece la porción de hora del campo TRANSDATE en medianoche en el sistema de 24 horas y después en el de 12:

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 salida es:

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


Ejemplo: Cómo establecer la hora en medianoche (Maintain)

HMIDNT establece en la medianoche la porción de hora de DT1, en los sistemas de 12 y 24 horas:

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