[firebase-br] Subtraindo N mes(es) de uma data

Eduardo Jedliczka (TeamFB) jedyfb em gmail.com
Ter Nov 15 21:13:28 -03 2005


Não há uma forma prática e simples de se resolver este problema, mas sim! 
existe solução...

A maioria de nós prefere utilizar uma UDF para isto, já que os recursos 
nativos oferecidos pelo FB 1.X são extremamente flexíveis, mas nada 
práticos.

bom, vamos à um exemplo...

Se eu desejo saber o primeiro dia do mês de um campo Data hipotético 
(15/11/2005), posso fazer algo como:

Select cast((Data - Extract(day from data) +1 ) as date) from tabela
ou seja, vai retornar 01/11/2005

Se eu desejo o último dia do mês anterior, é só retirar o +1 do select.
31/10/2005

Bom, se você subtrair a quantidade de dias deste novo select, você tem: 
30/09/2005

Se repetir isto mais uma vez, você tem 31/08/2005.

Se repetir isto pela 4ª vez, você tem 31/07/2005.

Aí é só somar a quantidade de dias da data origial e obter: 15/08/2005.

Só que você deve ter percebido que vai ficar MUUUUUUUUUITO longo...

Se desejar, pode fazer uma SP, assim simplifica bem a coisa. Mas é mais 
simples e rápido utilizar uma UDF.

Sucesso,

=========================
Eduardo Jedliczka
Membro do TeamFB - FireBase
Apucarana - Pr
=========================

----- Original Message ----- 
From: "Valber Aguiar" <listas em aguiarsistemas.com.br>
To: <lista em firebase.com.br>
Sent: Tuesday, November 15, 2005 6:54 PM
Subject: [firebase-br] Subtraindo N mes(es) de uma data


Pessoal como faço para subtrair N mes(es) de uma data?

Exemplo: 15/11/2005 - 3 meses = 15/08/2005


Valber Aguiar
Imperatriz-MA
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
Para editar sua configuração na lista, use o endereço 
http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista