Come: |
Lingue disponibili: reporting, Maintain
La funzione HADD incrementa un valore data-ora di un determinato numero di unità.
HADD(datetime, 'component', increment, length, output)
dove:
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.
Alfanumerico
Il nome del componente da incrementare, racchiuso tra virgolette singole.
Nota: WEEKDAY non è un componente valido per HADD.
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.
Valore intero
Il numero di caratteri restituito. I valori validi sono:
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).
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
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 |