In questa sezione: |
Le funzioni data legacy vengono create per l'uso con date in formati alfanumerici, decimali compressi ed interi.
Per informazioni dettagliate su ciascuna funzione data legacy, consultare:
AYM: Aggiunta o Sottrazione Mesi
AYMD: Aggiunta o Sottrazione Giorni
CHGDAT: Modifica della visualizzazione di una stringa data
Funzioni DA: Conversione di una data Legacy in un valore intero
DMY, MDY, YMD: Calcolo della differenza tra due date
DOWK e DOWKL: Ricerca del giorno della settimana
Funzioni DT: Conversione di un valore intero in una data
GREGDT: Conversione dal formato giuliano a gregoriano
JULDAT: Conversione dal formato gregoriano a giuliano
YM: Calcolo dei mesi trascorsi
Come: |
Le funzioni descritte in questa sezione sono funzioni date legacy. Queste funzioni sono state create per uso con date in formato alfanumerico o intero. Non è più consigliabile usare tali funzioni per la manipolazione date. Si preferisce usare le funzioni data-ora e date standard.
Tutte le funzioni date legacy supportano le date dell'anno 2000 e dopo. Le versioni obsolete di queste funzioni potrebbero non funzione correttamente con le date dopo il 31 Dicembre 1999. Tuttavia, in alcuni casi, si potrebbe voler usare la versione obsoleta di una funzione, per esempio, se non si usa le date dell'anno 2000. È possibile "disattivare" la versione corrente con il parametro DATEFNS.
Le funzioni date legavy accettano date con anni a due o quattro cifre. È possibile usare gli anni a quattro cifre che visualizzano il secolo, come 2000 o 1900, se il loro formato viene specificato come I8YYMD, P8YYMD, D8YYMD, F8YYMD, o A8YYMD. Gli anni a due cifre sono in grado di usare i parametri DEFCENT e YRTHRESH per assegnare i valori secolo, se il campo presenta una lunghezza di sei (per esempio, I6YMD). Per informazioni su questi parametri, consultare Personalizzazione del proprio ambiente in Sviluppo applicazioni di reporting.
La funzione EDIT crea date con anni a quattro cifre. Le funzioni JULDAT e GREGDT convertono quindi queste date in formai gregoriano e giuliano.
DEFINE FILE EMPLOYEE DATE/I8YYMD = EDIT('19'|EDIT(HIRE_DATE)); JDATE/I7 = JULDAT(DATE, 'I7'); GDATE/I8 = GREGDT(JDATE, 'I8'); END TABLE FILE EMPLOYEE PRINT DATE JDATE GDATE END
L'emissione è:
DATE JDATE GDATE ---- ----- ----- 1980/06/02 1980154 19800602 1981/07/01 1981182 19810701 1982/05/01 1982121 19820501 1982/01/04 1982004 19820104 1982/08/01 1982213 19820801 1982/01/04 1982004 19820104 1982/07/01 1982182 19820701 1981/07/01 1981182 19810701 1982/04/01 1982091 19820401 1982/02/02 1982033 19820202 1982/04/01 1982091 19820401 1981/11/02 1981306 19811102 1982/04/01 1982091 19820401 1982/05/15 1982135 19820515
La funzione AYMD restituisce una data a otto cifre quando l'argomento di immissione presenta un formato data legacy a sei cifre. Poiché DEFCENT è 19 e YRTHRESH è 83, i valori anno da 83 a 99 sono interpretati come 1983 fino a 1999 e i valori anno da 00 a 82 sono interpretati come 2000 fino a 2082.
SET DEFCENT=19, YRTHRESH=83 DEFINE FILE EMPLOYEE NEW_DATE/I8YYMD = AYMD(EFFECT_DATE, 30, 'I8'); END TABLE FILE EMPLOYEE PRINT EFFECT_DATE NEW_DATE BY EMP_ID END
L'emissione è:
EMP_ID EFFECT_DATE NEW_DATE ------ ----------- -------- 071382660 112847612 117593129 82/11/01 2082/12/01 119265415 119329144 83/01/01 1983/01/31 123764317 83/03/01 1983/03/31 126724188 219984371 326179357 82/12/01 2082/12/31 451123478 84/09/01 1984/10/01 543729165 818692173 83/05/01 1983/05/31
WebFOCUS |