Pesquisa por data (apenas mês e dia)  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

Preciso fazer uma pesquisa dos usuários que irão fazer aniversário, mas não sei como faço, porque no banco de dados eles estão salvos como Date.
Quando quero pesquisar por data faço assim: WHERE data BETWEEN ? AND ?
Só que se usar isso vai considerar o ano que ele nasceu, e não vai retornar o que eu preciso.Tem como pesquisar usando apenas o dia e o mes?
Obs:Estou utilizando Hibernate


Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
mezini
Thread.start()

Membro desde: 03/04/2008 16:21:21
Mensagens: 27
Offline

Ola rafael,

usando SQL sem hibernate é possivel usar um TO_CHAR(campo, 'dd/mm') e fazer a comparação.

por exemplo



Isso no oracle. Em outros bds tb deve existir essa função ou alguma função similar.

Em caso de performance voce pode criar indices na sua tabela considerando a função já.

Abraços.

This message was edited 1 time. Last update was at 13/03/2009 10:28:29

RafaelViana
GUJ Master

Membro desde: 23/03/2008 18:56:02
Mensagens: 1257
Localização: Venâncio Aires/RS
Offline

Não é bem isso que preciso, porque quero trabalhar ela como Dates não como char, porque nao quero comparar uma data, quero selecionar entre um periodo

Rafael Rodrigues Viana
Estudando Java e Flex
Blog: http://www.cauirs.com.br/rafael/

"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
[Email] [MSN]
ebarros
JavaGuru

Membro desde: 16/01/2008 10:08:54
Mensagens: 230
Offline

RafaelViana wrote:Preciso fazer uma pesquisa dos usuários que irão fazer aniversário, mas não sei como faço, porque no banco de dados eles estão salvos como Date.
Quando quero pesquisar por data faço assim: WHERE data BETWEEN ? AND ?
Só que se usar isso vai considerar o ano que ele nasceu, e não vai retornar o que eu preciso.Tem como pesquisar usando apenas o dia e o mes?
Obs:Estou utilizando Hibernate



Vc pode tentar fazer assim:

Everton Barros
Fil 4:13 ?Tudo posso naquele que me fortalece?
Javafree
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team