HMIDNT: Como Definir a Parte de Hora de um Valor Data-Hora para Meia-Noite

Como:

Linguagens Disponíveis: Reporting, Maintain

A função HMIDNT altera a parte de hora de um date-time para meia-noite (todos os zeros por padrão). Isto permite que você compare um campo de data com um campo data-hora.


Topo da página

x
Sintaxe: Como Definir a parte de hora de um valor data-hora para meia-noite
HMIDNT(datetime, length, output)

onde:

datetime

Data-hora

É o valor data-hora que deve ser configurado para meia-noite, o nome de um campo data-hora que contém o valor ou uma expressão que resulta no valor.

comprimento

Inteiro

É o comprimento do valor data-hora retornado. Valores válidos são:

  • 8 indica um valor de hora que inclui milissegundos.
  • 10 indica um valor de hora que inclui microssegundos.
  • 12 indica um valor de hora que inclui nanossegundos.
saída

Data-hora

É o resultado da data-hora cuja hora está definida para meia-noite e cuja data é copiada de um valor de marca temporal. É o campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O formato deve ser data-hora (tipo de dados H).



Exemplo: Como Definir a Hora como Meia-Noite (Reporting)

HMIDNT define a parte da hora do campo TRANSDATE como meia-noite, primeiro no sistema de 24 horas e, em seguida, no de 12 horas:

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

A saída é:

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


Exemplo: Como Definir a Hora como Meia-Noite (Maintain)

HMIDNT define a parte da hora de DT1 como meia-noite nos sistemas de 24 e 12 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

Information Builders