DATECVT: Conversione del formato di una data

Come:

Lingue disponibili: reporting, Maintain

La funzione DATECVT converte il valore campo a qualsiasi formato data standard o formato data legacy in un formato data (offset dalla data di base), nel formato data stardard o nel formato data legacy desiderato. Se si fornisce un formato invalido, DATECVT restitusice uno zero o uno spazio.

DATECVT disattiva l'ottimizzazione e la compilazione.

Nota: È possibile utilizzare una semplice assegnazione invece di chiamare questa funzione.


Inizio pagina

x
Sintassi: Come convertire un formato data
DATECVT(date, 'in_format', output)

dove:

data

Data

Data da convertire. Se si fornisce una data non valida, DATECVT restituisce zero. Quando si esegue la conversione, una data legacy obbedisce a qualsiasi impostazione di parametro DEFCENT e YRTHRESH fornita per quel campo".

in_format

Alfanumerico

Formato della data racchiuso tra virgolette singole. È uno dei seguenti:

  • Un formato data non-legacy (per esempio,YYMD, YQ, M, DMY, JUL).
  • Un formato data legacy (per esempio, I6YMD o A8MDYY)
  • Un formato non-data (come I8 o A6). Un formato non-data nelle funzioni in_format come offset dalla data di base di un campo YYMD (12/31/1900).
emissione

Alfanumerico

Formato di emissione racchiuso tra virgolette singole, oppure un campo che contiene il formato. È uno dei seguenti:

  • Un formato data non-legacy (per esempio,YYMD, YQ, M, DMY, JUL).
  • Un formato data legacy (per esempio, I6YMD o A8MDYY)
  • Un formato non-data (come I8 o A6). Questo tipo di formato causa DATECVT a convertire la data in una data componente completo e la restituisce come numero intero nel formato fornito.


Esempio: Conversione di una data YYMD in DMY

DATECVT converte 19991231 in 311299 e memorizza il risultato in CONV_FIELD:

CONV_FIELD/DMY = DATECVT(19991231, 'I8YYMD', 'DMY');

oppure

ONV_FIELD/DMY = DATECVT('19991231', 'A8YYMD', 'DMY');


Esempio: Conversione di una data legacy in formato data (Creazione prospetti)

DATECVT converte HIRE_DATE dal formato data legacy I6YMD nel formato data YYMD:

TABLE FILE EMPLOYEE
PRINT FIRST_NAME AND HIRE_DATE AND COMPUTE
NEW_HIRE_DATE/YYMD = DATECVT(HIRE_DATE, 'I6YMD', 'YYMD');
BY LAST_NAME
WHERE DEPARTMENT EQ 'MIS';
END

L'emissione è:

LAST_NAME     FIRST_NAME   HIRE_DATE  NEW_HIRE_DATE
---------     ----------   ---------  -------------
BLACKWOOD     ROSEMARIE    82/04/01   1982/04/01
CROSS         BARBARA      81/11/02   1981/11/02
GREENSPAN     MARY         82/04/01   1982/04/01
JONES         DIANE        82/05/01   1982/05/01
MCCOY         JOHN         81/07/01   1981/07/01
SMITH         MARY         81/07/01   1981/07/01

WebFOCUS