HADD: Incremento di un valore data-ora

Come:

Lingue disponibili: reporting, Maintain

La funzione HADD incrementa un valore data-ora di un determinato numero di unità.


Inizio pagina

x
Sintassi: Come incrementare un valore data-ora
HADD(datetime, 'component', increment, length, output)

dove:

datetime

Data-ora

Il valore data-ora da incrementare, il nome di un campo data-ora che contiene il valore, o una espressione che restituisce il valore.

componente

Alfanumerico

Il nome del componente da incrementare, racchiuso tra virgolette singole.

Nota: WEEKDAY non è un componente valido per HADD.

incrementazione

Valore intero

Il numero di unità per cui incrementare il componente, il nome di un campo numerico che contiene il valore, o una espressione che restituisce il valore.

length

Valore intero

Il numero di caratteri restituito. I valori validi sono:

  • 8 indica un valore data-ora che include da una a tre cifre decimali (millisecondi).
  • 10 indica un valore data-ora che include da quattro a sei cifre decimali (microsecondi).
  • 12 indica un valore data-ora che include da sette a nove cifre decimali (nanosecondi).
emissione

Data-ora

Campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”. Questo campo deve essere nel formato data- ora (tipo di dati H).



Esempio: Incrementazione del componente mese di un campo data-ora (Reporting)

HADD aggiunge sue mesi a ciascun valore in TRANSDATE e memorizza il risultato in ADD_MONTH. Se necessario, il giorno viene adattato, per renderlo valido per il mese risultante.

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

L'emissione è:

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


Esempio: Incrementazione del componente mese di un campo data-ora (Maintain)

HADD aggiunge due mesi 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 "

Il risultato è:

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