Fórum Consulta SQL #191545
29/10/2003
0
Olá pessoal!
Estou tentanto montar uma consulta que traga, em tempo de execução, todos os registros de clientes com fazem aniversários em determinado período de data a critério do usuário. Acontece que quero ainda que ele ordene os registros pelo dia do aniversário do cliente.
A questão é que como este é um campo ´date´ a consulta que eu montei ordena também pelo ano, ou seja, quem nasceu 02/11/1980, no relatório está atrás de que nasceu 01/11/1981.
Trocando em miudos, quero que ordene apenas pelo dia e mês, independente do ano.
Não sei se fui claro, em todo caso aqui está o código se alguém puder me ajudar.
Grato.
select COD_CLI,NOME_CLI,
FONE, DATA_ANI
from
CLIENTES
where extract(day from DATA_ANI) >= :DIA1 and extract(month from DATA_ANI) >= :MES1 and extract(day from DATA_ANI) <= :DIA2 and extract(month from DATA_ANI) <=:MES2
order by DATA_ANI
Estou tentanto montar uma consulta que traga, em tempo de execução, todos os registros de clientes com fazem aniversários em determinado período de data a critério do usuário. Acontece que quero ainda que ele ordene os registros pelo dia do aniversário do cliente.
A questão é que como este é um campo ´date´ a consulta que eu montei ordena também pelo ano, ou seja, quem nasceu 02/11/1980, no relatório está atrás de que nasceu 01/11/1981.
Trocando em miudos, quero que ordene apenas pelo dia e mês, independente do ano.
Não sei se fui claro, em todo caso aqui está o código se alguém puder me ajudar.
Grato.
select COD_CLI,NOME_CLI,
FONE, DATA_ANI
from
CLIENTES
where extract(day from DATA_ANI) >= :DIA1 and extract(month from DATA_ANI) >= :MES1 and extract(day from DATA_ANI) <= :DIA2 and extract(month from DATA_ANI) <=:MES2
order by DATA_ANI
Ildo
Curtir tópico
+ 0
Responder
Posts
29/10/2003
Felipe.palucoski
tenta isso, teoricamente funciona!!!!
Select COD_CLI,NOME_CLI,FONE,DATA_ANI from clientes where between(DATA_ANI,datainicial,datafinal)
Select COD_CLI,NOME_CLI,FONE,DATA_ANI from clientes where between(DATA_ANI,datainicial,datafinal)
Responder
Gostei + 0
30/10/2003
Fabio.hc
Tente assim:
select COD_CLI,NOME_CLI, FONE, DATA_ANI[color=red:7456324d89], extract(day from DATA_ANI)[/color:7456324d89]
from
CLIENTES
where extract(day from DATA_ANI) >= :DIA1 and extract(month from DATA_ANI) >= :MES1 and extract(day from DATA_ANI) <= :DIA2 and extract(month from DATA_ANI) <=:MES2
[color=red:7456324d89]order by 5[/color:7456324d89]
select COD_CLI,NOME_CLI, FONE, DATA_ANI[color=red:7456324d89], extract(day from DATA_ANI)[/color:7456324d89]
from
CLIENTES
where extract(day from DATA_ANI) >= :DIA1 and extract(month from DATA_ANI) >= :MES1 and extract(day from DATA_ANI) <= :DIA2 and extract(month from DATA_ANI) <=:MES2
[color=red:7456324d89]order by 5[/color:7456324d89]
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)