CHGDAT: Modifica della visualizzazione di una stringa data

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.



x
Riferimento: Conversione da breve a lunga

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.



x
Sintassi: Come modificare la stringa di visualizzazione data
CHGDAT('in_display_options','out_display_options',date_string,output)

dove:

'in_display_options'

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.

'out_display_options'

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.

date_string

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.

emissione

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.



Esempio: Conversione della visualizzazione data da YMD a MDYYX

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