Cómo: Referencia: |
Idiomas disponibles: informes, Maintain
La función CHGDAT reordena la partes de año, mes y día de la cadena de caracteres que representa una fecha. Además, puede que la cadena de caracteres pase de la representación larga de fecha a la corta, o viceversa. La representación larga contiene los tres componentes de fecha: año, mes y día. La representación corta omite uno o dos de estos componentes. Las cadenas de fecha de entrada y salida están descritas en opciones de visualización, que especifican el orden de los componentes de fecha (año, mes, día) en la cadena de fecha y el número de dígitos usado para el año: dos o cuatro (por ejemplo, 04 o 2004). CHGDAT lee una cadena de caracteres de fecha de entrada y crea otra de salida, que representa la misma fecha, pero de manera distinta.
Nota: CHGDAT requiere una cadena de caracteres de fecha como entrada y no la fecha en sí. Aunque la entrada sea una fecha estándar o legacy, debe convertirla en una cadena de caracteres de fecha (utilizando la función EDIT o DATECVT, por ejemplo) antes de aplicar CHGDAT.
El orden de los componentes de la cadena de caracteres de fecha está descrito en las opciones de visualización, compuestas de los siguientes caracteres en cualquier orden:
Carácter |
Descripción |
---|---|
D |
Día del mes (de 01 a 31). |
M |
Mes del año (de 01 a 12). |
Y[Y] |
Año. Y indica un año de dos dígitos (94); YYindica un año de cuatro dígitos (1994). |
Para deletrear el mes, en lugar de utilizar un número de la cadena resultante, añada uno de los caracteres siguientes a las opciones de visualización de la cadena resultante:
Carácter |
Descripción |
---|---|
T |
Muestra el mes como una abreviación de tres letras. |
X |
Muestra el nombre completo del mes. |
Las opciones de visualización pueden constar de hasta cinco caracteres de visualización. Se ignoran todos los caracteres excepto los de las opciones de visualización.
Por ejemplo: Las opciones de visualización 'DMYY' indican que la cadena de fecha empieza por un año de dos dígitos, seguido de un mes de dos dígitos y un año de cuatro dígitos.
Nota: Las opciones de visualización no son formatos de fecha.
Si está convirtiendo una fecha de representación corta a una larga (por ejemplo, de año-mes a año-mes-día), la función proporciona la parte de la fecha, que falta en la representación corta, como se muestra en la tabla siguiente:
Parte no disponible de la fecha |
Parte proporcionada por la función |
---|---|
Día (por ejemplo, de YM a YMD) |
Último día del mes. |
Mes (por ejemplo, de Y a YM) |
Último mes del año. |
Año (por ejemplo, de MD a YMD) |
El año 99. |
Cómo convertir un año de dos dígitos en uno de cuatro (por ejemplo, de YMD a YYMD) |
Si DATEFNS=ON, el siglo se determina mediante la ventana de 100 años definida por DEFCENT y YRTHRESH. Consulte Cómo personalizar su entorno en Cómo desarrollar aplicaciones de informes o Cómo trabajar con fechas en siglos diferentes, en el archivo de iBase, para más detalles sobre DEFCENT y YRTHRESH. Si DATEFNS=OFF, se proporciona el año 19xx, donde xx son los dos últimos dígitos del año. |
CHGDAT('in_display_options','out_display_options',date_string,output)
donde:
A1 a A5
Es una serie de hasta cinco opciones de visualización, que describen el diseño de date_string. Estas opciones pueden guardarse en un campo alfanumérico o proporcionarse como un literal entre comillas simples.
A1 a A5
Es una serie de hasta cinco opciones de visualización, que describen el diseño de la cadena de fecha convertida. Estas opciones pueden guardarse en un campo alfanumérico o proporcionarse como un literal entre comillas simples.
A2 a A8
Es la cadena de caracteres de entrada, con los componentes de fecha en el orden especificado por in_display_options.
Tenga en cuenta que, si la fecha original está en formato numérico, debe convertirla en una cadena de caracteres de fecha. Si date_string no representa la fecha correctamente (la fecha no es válida), la función devuelve espacios en blanco.
Un xx, donde xx es un número de caracteres lo suficientemente grande para encajar en la cadena de fecha especificada por out_display_options. A17 es lo suficientemente largo para encajar en la cadena de fecha más larga.
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas.
Nota: Puesto que CHGDAT utiliza y devuelve una cadena de fecha (no una fecha) de hasta 17 caracteres, emplee la función EDIT o DATECVT, o cualquier otro método, para convertir la fecha en una cadena de caracteres o viceversa
La función EDIT cambia HIRE_DATE del formato numérico al alfanumérico. A continuación CHGDAT convierte cada valor de ALPHA_HIRE, que pasa de mostrar los componentes como YMD a MDYYX y guarda el resultado en HIRE_MDY con formato A17. La opción X del valor de salida muestra el nombre completo del mes.
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
La salida es:
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 |