Comparação com data usando iReport não funciona?

5 respostas
P

Olá,

uma duvida porque não busca o registro no banco de dados (sql ansi) Mysql
conforme abaixo

o parametro data_inicial e data_final está como java.util.Date

--iReport

where ($P{data_inicial} is null and $P{data_final} is null )or 
      (ic.notafter between $P{data_inicial} and  $P{data_final})

[/code]

–como está no banco de dados mysql o campo como DATETIME com conteudo

2011-11-25 21:59:59

[/code]

5 Respostas

P

Será que não é por causa da hora? Tente descarta-la utilizando trunc.

P

mas a idéia é usar esse relatório pra varios bancos

e o trunc do mysql é igual ao Oracle,Syabse,SqlServer…

A melhor solução seria essa ???

P

Você também pode concatenar data + 23:59:59.

P

usei e funcionou:

where ($P{data_inicial} is null and $P{data_final} is null )or (DATE(ic.notafter) >=str_to_date($P{data_inicial},'%d/%m/%Y %T')  and  DATE(ic.notafter)<=str_to_date($P{data_final},'%d/%m/%Y %T'))

mas só funciona pra MYSQL …DATE() …

e para outros bancos ???

P

fiz isso de concatenar mais não funcionou não trazia o registro…

abs

Criado 29 de abril de 2009
Ultima resposta 29 de abr. de 2009
Respostas 5
Participantes 2