DATECVT: Cómo convertir el formato de una fecha

Cómo:

Idiomas disponibles: informes, Maintain

La función DATECVT convierte el valor del campo de cualquier formato de fecha estándar, o de fecha legacy, en un formato de fecha (desplazamiento de la fecha base), con el formato de fecha estándar, o fecha legacy, deseado. Si introduce un formato no válido, DATECVT devuelve un cero o un espacio en blanco.

DATECVT desactiva la optimización y compilación.

Nota: Puede usar la asignación simple en lugar de llamar a esta función.


Principio de página

x
Sintaxis: Cómo Convertir un formato de fecha
DATECVT(date, 'in_format', output)

donde:

date

Fecha

Es la fecha que se va a convertir. Si introduce una fecha no válida, DATECVT devuelve cero. Al efectuarse la conversión, las fechas legacy obedecen a cualquier configuración de parámetro DEFCENT o YRTHRESH que se haya proporcionado para ese campo.

in_format

Alfanumérico

Es el formato de la valor fecha entre comillas simples. Es uno de los siguientes:

  • Un formato de fecha que no sea legacy (por ejemplo, YYMD, YQ, DMY, JUL).
  • Un formato de fecha legacy (por ejemplo, I6YMD o A8MDYY).
  • Un formato que no sea de fecha (por ejemplo, I8 o A6). El formato que no sea de fecha en in_format funciona como desplazamiento de la fecha base de un campo YYMD (12/31/1900).
output

Alfanumérico

Es el formato de salida, entre comillas simples, o un campo que contenga el formato. Es uno de los siguientes:

  • Un formato de fecha que no sea legacy (por ejemplo, YYMD, YQ, DMY, JUL).
  • Un formato de fecha legacy (por ejemplo, I6YMD o A8MDYY).
  • Un formato que no sea de fecha (por ejemplo, I8 o A6). Este tipo de formato hace que DATECVT convierta la fecha en una fecha de componente completo, y la devuelva como número entero con el formato proporcionado.


Ejemplo: Cómo convertir una fecha YYMD a DMY

DATECVT convierte 19991231 en 311299 y guarda el resultado en CONV_FIELD:

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

o

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


Ejemplo: Cómo convertir una fecha legacy al formato de fecha (informes)

DATECVT convierte HIRE_DATE del formato de fecha legacy I6YMD al formato de fecha 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

La salida es:

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