HADD: Cómo incrementar un valor de fecha-hora

Cómo:

Idiomas disponibles: informes, Maintain

La función HADD incrementa los valores de fecha-hora en un número de unidades determinado.


Principio de página

x
Sintaxis: Cómo Incrementar un valor de fecha hora
HADD(datetime, 'component', increment, length, output)

donde:

datetime

Fecha-hora

Es el valor de fecha-hora que se va a incrementar, 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 incrementar ('). Para ver una lista de componentes válidos, consulte Argumentos para uso con funciones de fechas y horas.

Nota: WEEKDAY no es un componente válido de HADD.

increment

Número entero

Es el número de unidades (positivas o negativas) en que va a incrementarse el componente, el nombre de un campo numérico que contiene el valor o una expresión que devuelve el valor.

length

Número entero

El número de caracteres devuelto. Los valores válidos son:

  • 8 indica un valor de fecha-hora que incluye entre uno y tres dígitos decimales (milisegundos).
  • 10 indica un valor de fecha-hora que incluye entre cuatro y seis dígitos decimales (microsegundos).
  • 12 indica un valor de fecha-hora que incluye entre siete y nueve dígitos decimales (nanosegundos).
output

Fecha-hora

Es el campo que contiene el resultado o el formato del valor de salida, entre comillas simples. Este campo debe estar en formato de fecha-hora (datos de tipo H).



Ejemplo: Cómo incrementar el componente de mes de un campo fecha-hora (Lenguaje de informes)

HADD añade dos meses a cada valor de TRANSDATE y guarda el resultado en ADD_MONTH. Si es necesario, el día queda ajustado para que corresponda con el mes resultante.

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

La salida es:

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


Ejemplo: Cómo incrementar el componente de mes de un campo fecha-hora (Maintain)

HADD añade dos meses al campo DT1:

MAINTAIN FILE DATETIME
FOR 1 NEXT ID DT1 INTO DTSTK
COMPUTE
NEW_DATE/HYYMDS = HADD(DTSTK.DT1, 'MONTH', 2,10, NEW_DATE);
TYPE "DT1 IS: <DTSTK(1).DT1 "
TYPE "NEW_DATE IS: <NEW_DATE "

El resultado es:

DT1 IS: 2000/1/1 02:57:25
NEW_DATE IS: 2000/3/1 02:57:25
TRANSACTIONS: COMMITS = 1 ROLLBACKS = 0
SEGMENTS : INCLUDED = 0 UPDATED = 0 DELETED = 0

WebFOCUS