Digamos que quiero un JasperReport que permita al usuario filtrar una fecha si así lo desean. El SQL es la siguiente:.Cláusulas condicional Donde en JasperReports
select * from foo where bar = $P{bar} and some_date > $P{some.date}
Ahora, no quiero para filtrar por una fecha si no pasan a la fecha en que encontré la siguiente kludge que la gente utiliza:
select * from foo where bar = $P{bar} $P!{some.date.fragment}
y el parámetro some.date.fragment
se define con la siguiente defecto:
($P{some.date} == null || $P{some.date}.equals("")) ? "" : "AND some_date >'" + new java.sql.Date($P{some.date}.getTime()).toString() + "'"
Esto no está funcionando como el toString
no da salida a la fecha en un formato que entiende mi servidor SQL. Me gustaría que el condicional siga usando una declaración preparada con el controlador jdbc y arroje el parámetro, solo quiero que la declaración preparada sea dependiente si el parámetro es nulo o no. Se puede hacer esto?
En mi caso, el segundo parámetro era una cadena y la parte de la cláusula where he usado $ P {} stringValue. –