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

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]

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

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 ???

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

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 ???

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

abs