Условные предложения Where в JasperReports
Позволять'скажем, я хочу JasperReport, который позволяет пользователю фильтровать дату, если они того пожелают. SQL выглядит следующим образом:
select * from foo where bar = $P{bar} and some_date > $P{some.date}
Теперь я нене хочу фильтровать по какой-то дате, если они нея не могу передать дату. Я нашел следующий кладж, который используют люди:
select * from foo where bar = $P{bar} $P!{some.date.fragment}
Иsome.date.fragment
Параметр определяется по умолчанию:
($P{some.date} == null || $P{some.date}.equals("")) ? "" : "AND some_date >'" + new java.sql.Date($P{some.date}.getTime()).toString() + "'"
Это не работает какtoString
Безразлично»t выводит дату в формате, понятном моему SQL-серверу. Я хотел бы, чтобы условное выражение все еще использовало подготовленный оператор с драйвером jdbc и добавлял параметр, я просто хочу, чтобы подготовленный оператор зависел от того, является ли параметр пустым или нет. Можно ли это сделать?