[firebase-br] Ajuda - Conversão de Data - ULTIMO DIA DO MES.

Tecnobyte Informática temp2 em tecnobyte.com.br
Sex Jul 15 12:36:31 -03 2011


Para você pegar o último dia de um mês qualquer, basta pegar o dia primeiro 
do próximo mês e subtrair 1 dia.

SELECT
  CAST('01.05.2011' AS DATE) - 1
FROM RDB$DATABASE

Vai retornar 30/04/2011

Usando este raciocínio acredito que você conseguirá encontrar uma solução 
rapidamente.

Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br

-----Mensagem Original----- 
From: Diego Maccari
Sent: Friday, July 15, 2011 9:52 AM
To: FireBase
Subject: [firebase-br] Ajuda - Conversão de Data - ULTIMO DIA DO MES.


Bom dia pessoal to com um probleminha e não consegui encontrar uma solução.

Preciso encontrar o ultimo dia de um determinado mes.

Faço o seguinte procedimento

RESULT = :PDATA - EXTRACT(DAY FROM :PDATA) + 32 - EXTRACT(DAY FROM :PDATA - 
EXTRACT(DAY FROM :PDATA) + 32);

Sendo RESULT um campo DATE e :PDATE um parametro ou variavel DATE o 
resultado sai correto Ex:

para valor de :PDATA = 01/04/2009 o resultado de RESULT é 30/04/2009 ou seja 
resultou exatamente no valor esperado.

Mas se eu precisar compor uma determinada data Ex:

:PDATA = CAST(‘01/’ || ‘04/’ || ‘2009’ AS DATE);

O RESULT seria o ultimo dia do mes anterior OU SEJA 31/03/2009 o que não 
seria o resultado esperado

Onde está o problema porque quando uso o CAST AS DATE  não retorna o ultimo 
dia do Mes ??

Alguém poderia me ajudar...

Att

Diego Maccari. 





Mais detalhes sobre a lista de discussão lista