Como: Referência: |
Linguagens Disponíveis: Reporting, Maintain
A função GREGDT converte uma data em formato juliano (ano-dia) em formato gregoriano (ano-mês-dia).
Uma data no formato juliano é um número de cinco ou sete dígitos. Os primeiros dois ou quatro dígitos representam o ano. Os três últimos dígitos representam o número de dias, contados a partir de 1 de janeiro. Por exemplo, janeiro 1, 1999 no formato juliano é representado por 99001 ou 1999001; junho 21, 2004, por sua vez, seria 2004173.
GREGDT converte uma data juliana no formato YMD ou YYMD utilizando as definições de parâmetros DEFCENT e YRTHRESH para determinar o século, caso necessário. GREGDT obtém uma data como a seguir:
Configuração DATEFNS |
Formato I6 ou I7 |
Formato I8 ou Maior |
---|---|---|
ATIVADO |
AMD |
AAMD |
DESLIGADO |
YMD |
YMD |
GREGDT(indate, output)
onde:
I5 ou I7
É a data juliana, que se encontra truncada em um número inteiro antes da conversão. Cada valor deve possuir um número de cinco ou sete dígitos após a truncamento. Se a data for inválida, a função retornará um 0 (zero).
I6, I8, I6YMD ou I8YYMD
É o nome do campo que contém o resultado ou o formato do valor de saída posto entre aspas simples.
GREGDT converte o campo JULIAN para o formato YYMD (gregoriano). Ele determina o século usando as configurações padrão dos parâmetros DEFCENT e YRTHRESH.
TABLE FILE EMPLOYEE
PRINT HIRE_DATE AND
COMPUTE JULIAN/I5 = JULDAT(HIRE_DATE, JULIAN); AND
COMPUTE GREG_DATE/I8 = GREGDT(JULIAN, 'I8');
BY LAST_NAME BY FIRST_NAME
WHERE DEPARTMENT EQ 'PRODUCTION';
END
A saída é:
LAST_NAME FIRST_NAME HIRE_DATE JULIAN GREG_DATE --------- ---------- --------- ------ --------- BANNING JOHN 82/08/01 82213 19820801 IRVING JOAN 82/01/04 82004 19820104 MCKNIGHT ROGER 82/02/02 82033 19820202 ROMANS ANTHONY 82/07/01 82182 19820701 SMITH RICHARD 82/01/04 82004 19820104 STEVENS ALFRED 80/06/02 80154 19800602
Information Builders |