HADD: Como Aumentar um Valor Data-Hora

Como:

Linguagens Disponíveis: Reporting, Maintain

A função HADD incrementa um valor de DATE-TIME a partir de um número dado


Topo da página

x
Sintaxe: Como Incrementar um valor Data-Hora
HADD(datetime, 'component', increment, length, output)

onde:

datetime

Data-hora

É o valor data-hora a ser aumentado, o nome de um campo data-hora que contém o valor ou uma expressão que resulta no valor.

componente

Alfanumérico

É o nome do componente a ser aumentado entre aspas simples.

Observação: WEEKDAY não é um componente válido para HADD.

aumento

Inteiro

É o número de unidades (positivo ou negativo) pelo qual se aumenta o componente, o nome de um campo numérico que contém o valor ou uma expressão que resulta no valor.

comprimento

Inteiro

É o número de caracteres obtidos. Os valores válidos são:

  • 8 indica um valor de data-hora que inclui de um a três dígitos decimais (milissegundos).
  • 10 indica um valor de data-hora que inclui de quatro a dez dígitos decimais (microssegundos).
  • 12 indica um valor de data-hora que inclui de sete a nove dígitos decimais (nanossegundos).
saída

Data-hora

É o campo que contém o resultado ou o formato do valor de saída posto entre aspas simples). Este campo deve ter o formato data-hora (tipo de dados H).



Exemplo: Como Aumentar o Componente do Mês de um Campo Data-Hora (Reporting)

HADD adiciona dois meses em cada valor em TRANSDATE e armazena o resultado em ADD_MONTH. Caso necessário, o dia é ajustado para que seja válido para o mês 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

A saída é:

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


Exemplo: Como Aumentar o Componente do Mês de um Campo Data-Hora (Maintain)

HADD adiciona dois meses ao 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 "

O resultado é:

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

Information Builders