Cómo: |
Idiomas disponibles: informes, Maintain
Las funciones DA convierten la fecha legacy al número de días que hay entre ella y una fecha base (Diciembre 31, 1899). Al convertir una fecha al número de días, puede añadir o restar fechas y calcular intervalos entre las mismas, o añadir o restar números para obtener nuevas fechas.
Puede reconvertir el resultado en una fecha mediante las funciones DT, descritas en Funciones DT: Cómo convertir un número entero en una fecha.
Existen seis funciones DA y cada una acepta fechas con un formato diferente.
function(indate, output)
donde:
Es uno de los siguientes:
DADMY convierte fechas en formato día-mes-año.
DADYM convierte fechas en formato día-año-mes.
DAMDY convierte fechas en formato mes-día-año.
DADMYD convierte fechas en formato mes-año-día.
DAYDM convierte fechas en formato año-día-mes.
DAYMD convierte fechas en formato año-mes-día.
I6xxx o P6xxx, donde xxx corresponde a la función DAxxx que está utilizando.
Es la fecha legacy que se va a convertir o el nombre de un campo que contenga la fecha. La fecha se trunca en un número entero antes de la conversión. Si indate es un literal numérico, sólo tiene que introducir los dos últimos dígitos del año; la función presupone el componente de siglo. Si la fecha no es válida, la función devuelve un 0.
Número entero
Es el nombre del campo que contiene el resultado, o el formato del valor de salida puesto entre comillas solas. El formato de la fecha devuelta depende de la función.
DAYMD convierte los campos DAT_INC y HIRE_DATE al número de días transcurridos desde el 31 de diciembre de 1899 y se resta el número inferior del superior:
TABLE FILE EMPLOYEE
PRINT DAT_INC AS 'RAISE DATE' AND COMPUTE
DAYS_HIRED/I8 = DAYMD(DAT_INC, 'I8') - DAYMD(HIRE_DATE, 'I8');
BY LAST_NAME BY FIRST_NAME
IF DAYS_HIRED NE 0
WHERE DEPARTMENT EQ 'PRODUCTION';
END
La salida es:
LAST_NAME FIRST_NAME RAISE DATE DAYS_HIRED --------- ---------- ---------- ---------- IRVING JOAN 82/05/14 130 MCKNIGHT ROGER 82/05/14 101 SMITH RICHARD 82/05/14 130 STEVENS ALFRED 82/01/01 578 81/01/01 213
WebFOCUS |