[RESOLVIDO]Duvida HQL com DATAS (dia, semana,mes)

pessoal uso hibernate com sqlserver e pergunto

eu recebo como para metro um hql pronto do banco de dados ai eu so aplico ele na query e executo tenho tbm uma tabela de query e tbm um atabela de parametros da query tudo em HQL. estou precisando fazer consultas com datas em hql tipo

Movimentos do dia = select mov from Mov mov where dataCriacao = ? <<<< como pega data atual no hql?
do dia, da semana, do mes atual, levando em consideração apenas a data e não a hora
outra coisa…

meus campos são todos timestamp portanto se eu compara datas tipo dataAtual = new Date() não vai dar certo pois leva em consideração os segundos heheh.

precisaria tbm de formatar a data no hql pra depois compar . alguem ai tem uma dica

http://www.guj.com.br/posts/list/77190.java#407819

Para achar alguma coisa que ocorreu no dia 10 de agosto de 2009, não importa o horário, você deve procurar tudo que está BETWEEN a data de 10 de agosto de 2009, 00:00:00 AND a data de 10 de agosto de 2009, 23:59:59. Como você põe isso como parâmetro fica como exercício.

ok, vlw, se alguem tiver outra ideia

eu achei algumas funções tipo

current_date(), current_time(), and current_timestamp()

mas agora preciso formatar elas pois tras com tempos tbm.

tipo possivel exemplo:

select mov from TMov mov where format(dataCriacao,‘dd/mm/yyyy’) = format(current_date(),‘dd/mm/yyyy’)

o que eu posso colocar no lugar do format?

resolvi utilizando talves uma pog se alguem tiver algo mais limpo

select mov from Mov mov where day(dataCriacao)=day(current_date()) and month(dataCriacao)=month(current_date()) and year(dataCriacao)=year(current_date())

dia ok
mes ok
como posso fazer para pegar os movimentos da semana? ou ultmos 7 dias

tipo select mov from Mov mov where dataCriacao <= current_date() - 7?

resolvi a ultima questão

select mov from TMov mov where dataCriacao <= current_date() and dataCriacao >= current_date()-7

obrigado pela ajuda! :smiley:

ow… tipo to sabendo que o post já tá resolvido mas achei uma solução legal aki que talvez possa ajudar alguém por aí…

select mov from TMov mov where CONVERT(CHAR(10), dataCriacao,103) = CONVERT(CHAR(10), DataAtual,103)

:D;