Come: Riferimento: |
Lingue disponibili: reporting, Maintain
La funzione CHGDAT riorganizza le porzioni anno, mese e giorno di una stringa di caratteri d'immissione rappresentante una data. Questa funzione potrebbe inoltre convertire la stringa d'immissione da una rappresentazione data lunga a breve o da breve a lunga. Le rappresentazioni lunghe contengono tutti e tre i componenti data: anno, mese e giorno, le rappresentazioni brevi omettono uno a due componenti della data, come l'anno, il mese o il giorno. Le stringa data d'immissione e d'emissione sono descritte, visualizzando le opzioni che specificano sia l'ordine dei componenti data (anno, mese, giorno) nella stringa data che due o quattro cifre utilizzate per l'anno (per esempio, 04 o 2004). CHGDAT legge una stringa di caratteri della data d'immissione e crea una stringa di caratteri della data d'emissione che rappresenta la stessa data in modo diverso.
Nota: CHGDAT richiede una stringa di caratteri data come immissione, non una data stessa. Sia che l'immissione sia una data standard o legacy, convertirla in una stringa di caratteri data (usando le funzioni EDIT o DATECVT, per esempio), prima di applicare CHGDAT.
L'ordine dei componenti data nella stringa di caratteri data è descritta visualizzando le opzioni comprese dei seguenti caratteri nell'ordine scelto:
Carattere |
Descrizione |
---|---|
D |
Giorno del mese (01 a 31). |
M |
Mese dell'anno (01 a 12). |
Y[Y] |
Anno. Y indica un anno a due cifre (come 94); YY indica un anno a quattro cifre (come 1994). |
Per eseguire lo spelling del mese, piuttosto che utilizzare un numero nella stringa risultante, accodare uno dei seguenti caratteri alle opzioni di visualizzazione per la stringa risultante:
Carattere |
Descrizione |
---|---|
T |
Visualizza il mese come una abbreviazione a tre lettere. |
X |
Visualizza il nome completo del mese. |
Le opzioni di visualizzazione sono in grado di consistere fino a cinque caratteri di visualizzazione. I caratteri diversi dalle opzioni di visualizzazione sono ignorate.
Per esempio: Le opzioni di visualizzazione 'DMYY' specificano che la stringa data inizia con un giorno a due cifre, quindi un mese a due cifre e un anno a quattro cifre.
Nota: Le opzioni di visualizzazione non sono formati data.
Se si sta convertendo una data da una rappresentazione breve a lunga (per esempio, da anno-mese a anno-mese-giorno), la funzione fornisce la porzione della data mancante nella rappresentazione breve, come illustrato nella seguente immagine.
Porzione della data mancante |
Porzione fornita per funzione |
---|---|
Giorno (per esempio, da YM a YMD) |
Ultimo giorno del mese. |
Mese (per esempio, da Y a YM) |
Ultimo mese dell'anno (Dicembre). |
Anno (per esempio, da MD a YMD) |
L'anno 99. |
Conversione dell'anno da due a quattro cifre (per esempio, da YMD a YYMD) |
Se DATEFNS=ON, il secolo verrà determinato dalla finestra di 100 anni, definita da DEFCENT e YRTHRESH. Consultare Personalizzazione del proprio ambiente in Sviluppo applicazioni di reporting o Lavorando con date a secolo incrociato nell'archivio iBase per dettagli su DEFCENT e YRTHRESH. Se DATEFNS=OFF, l'anno 19xx viene fornito, dove xx sono le ultime due cifre dell'anno. |
CHGDAT('in_display_options','out_display_options',date_string,output)
dove:
A1 a A5
Serie di un numero fino a cinque opzioni di visualizzazione che descrivono il layout di date_string. Queste opzioni possono essere memorizzate in un campo alfanumerico o fornite come valori letterali racchiusi tra virgolette singole.
A1 a A5
Serie di un numero fino a cinque di opzioni di visualizzazione che descrivono il layout della stringa della data convertita. Queste opzioni possono essere memorizzate in un campo alfanumerico o fornite come valori letterali racchiusi tra virgolette singole.
A2 a A8
La stringa con il carattere della data di immissione con componenti data nell’ordine specificato da in_display_options.
Notare che se la data originale è in formato alfanumerico, è necessario convertirla in una stringa di caratteri data. Se date_string non rappresenta in modo corretto la data (la data è invalida), la funzione restituisce spazi vuoti.
Un xx, dove xx è un numero di caratteri abbastanza grande da adattarsi alla stringa di data specificata da out_display_options. A17 è abbastanza grande da adattarsi alla stringa data più lunga.
Nome del campo che contiene il risultato o formato del valore di emissione racchiuso tra virgolette singole”.
Nota: Poiché CHGDAT utilizza una stringa data (opposta ad una data) e restituisce una stringa data di fino a 17 caratteri, utilizzare le funzioni EDIT o DATECVT o qualsiasi altro mezzo per convertire la data in o da una stringa di caratteri data.
La funzione EDIT modifica HIRE_DATE da formato numerico a formato alfanumerico. CHGDAT converte ciascun valore in ALPHA_HIRE dalla visualizzazione dei componenti come YMD in MDYYX e memorizza il risultato in HIRE_MDY, con il formato A17. L’opzione X nel valore di emissione visualizza il nome completo del mese.
TABLE FILE EMPLOYEE
PRINT HIRE_DATE AND COMPUTE
ALPHA_HIRE/A17 = EDIT(HIRE_DATE); NOPRINT AND COMPUTE
HIRE_MDY/A17 = CHGDAT('YMD', 'MDYYX', ALPHA_HIRE, 'A17');
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'PRODUCTION';
END
L'emissione è:
LAST_NAME FIRST_NAME HIRE_DATE HIRE_MDY --------- ---------- --------- -------- BANNING JOHN 82/08/01 AUGUST 01 1982 IRVING JOAN 82/01/04 JANUARY 04 1982 MCKNIGHT ROGER 82/02/02 FEBRUARY 02 1982 ROMANS ANTHONY 82/07/01 JULY 01 1982 SMITH RICHARD 82/01/04 JANUARY 04 1982 STEVENS ALFRED 80/06/02 JUNE 02 1980
WebFOCUS |