HSETPT: Cómo insertar un componente en un valor de fecha-hora

Cómo:

Idiomas disponibles: informes, Maintain

La función HSETPT inserta el valor numérico de un componente determinado en un valor de fecha-hora.


Principio de página

x
Sintaxis: Cómo Insertar un componente en un valor de fecha-hora
HSETPT(datetime, 'component', value, length, output)

donde:

datetime

Fecha-hora

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

component

Alfanumérico

Es el nombre, entre comillas simples, del componente que se va a insertar ('). Consulte Argumentos para uso con funciones de fechas y horas para ver una lista de los componentes válidos.

value

Número entero

Es el valor numérico que se va a insertar para el componente solicitado, el nombre del campo numérico 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 entre uno y tres dígitos decimales (milisegundos).
  • 10 indica un valor de hora que incluye entre cuatro y seis dígitos decimales (microsegundos).
  • 12 indica un valor de hora que incluye entre siete y nueve dígitos decimales (nanosegundos).
output

Fecha-hora

El valor de fecha-hora devuelto, cuyo componente seleccionado ha quedado actualizado. El resto de los componentes se copian del valor de fecha-hora de origen.

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 insertar el componente de día en un campo fecha-hora (Lenguaje de informes)

HSETPT inserta el día en forma de 28 en el campo ADD_MONTH y guarda el resultado en INSERT_DAY:

TABLE FILE VIDEOTR2
PRINT CUSTID TRANSDATE AS 'DATE-TIME' AND COMPUTE
ADD_MONTH/HYYMDS = HADD(TRANSDATE, 'MONTH', 2, 8, 'HYYMDS');
INSERT_DAY/HYYMDS = HSETPT(ADD_MONTH, 'DAY', 28, 8, 'HYYMDS');
WHERE DATE EQ 2000;
END

La salida es:

CUSTID  DATE-TIME         ADD_MONTH            INSERT_DAY
------  ---------         ---------            ----------
1118    2000/06/26 05:45  2000/08/26 05:45:00  2000/08/28 05:45:00
1237    2000/02/05 03:30  2000/04/05 03:30:00  2000/04/28 03:30:00


Ejemplo: Cómo insertar el componente de día en un campo fecha-hora (Maintain)

HSETPT inserta el día en ADD_MONTH:

MAINTAIN FILE DATETIME
FOR 1 NEXT ID INTO STK;
COMPUTE
ADD_MONTH/HYYMDS = HADD(STK.DT1,'MONTH', 2, 8, ADD_MONTH);
INSERT_DAY/HYYMDS = HSETPT(ADD_MONTH,'DAY', 28, 8, INSERT_DAY);
TYPE "STK(1).DT1 = <STK(1).DT1";
TYPE "ADD_MONTH = <ADD_MONTH";
TYPE "INSERT_DAY = <INSERT_DAY";
END

WebFOCUS