Como: |
Linguagens Disponíveis: Reporting, Maintain
As funções DA convertem uma data de legado no número de dias entre ela e a data base (31 de dezembro de 1899). Ao converter uma data no número de dias, você pode adicionar e subtrair datas e calcular os intervalos entre elas ou adicionar ou subtrair números das datas para obter novas datas.
Há seis funções DA, cada um aceita uma data em um formato diferente.
function(indate, output)
onde:
É um dos seguintes procedimentos:
DADMY converte uma data no formato dia-mês-ano.
DADYM converte uma data no formato dia-ano-mês.
DAMDY converte uma data no formato mês-dia-ano.
DAMYD converte uma data no formato mês-ano-dia.
DAYDM converte uma data no formato ano-dia-mês.
DAYMD converte uma data no formato ano-mês-dia.
I6xxx ou P6xxx, onde xxx corresponde à função DAxxx que você está utilizando.
É a data a ser convertida ou o nome de um campo que contém a data. A data é truncada em um inteiro antes da conversão. Se indate for um literal numérico, insira somente os últimos dois dígitos do ano; a função assume o componente século. Se a data for inválida, a função retornará um 0.
Inteiro
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples. O formato da data obtido depende da função.
O DAYMD converte os campos DAT_INC e HIRE_DATE para o número de dias desde 31 de dezembro de 1899 e o número menor é então subtraído ao número maior:
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
A saída é:
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
Information Builders |