[firebase-br] Aniversários entre Data1 e Data2

Daniel / Tecnobyte temp em tecnobyte.com.br
Qui Fev 24 10:29:46 -03 2005


Preciso obter uma lista de aniversariantes entre um período qualquer.

Exemplos:

1. De 25/02 até 05/03
2. De 25/02 até 10/04
3. De 15/02 até 25/02

Montei o filtro abaixo e até onde testei parece funcionar corretamente, mas
ficou bastante extenso e talvez alguém pode ter uma idéia melhor.

Nota: M1, M2, D1 e D2 são parâmetros passados pela aplicação.

(:M1 = :M2 AND EXTRACT(MONTH FROM DataNasc) = :M1 AND
EXTRACT(DAY FROM DataNasc) BETWEEN :D1 AND :D2)
OR
(:M1 <> :M2 AND EXTRACT(MONTH FROM DataNasc) = :M1 AND
EXTRACT(DAY FROM DataNasc) >= :D1)
OR
(:M1 <> :M2 AND EXTRACT(MONTH FROM DataNasc) = :M2 AND
EXTRACT(DAY FROM DataNasc) <= :D2)
OR
(EXTRACT(MONTH FROM DataNasc) > :M1 AND EXTRACT(MONTH FROM DataNasc) < :M2)

Atenciosamente.

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





Mais detalhes sobre a lista de discussão lista