Условные предложения 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
дата не выводится в формате, понятном моему SQL-серверу. Я хотел бы, чтобы условное выражение все еще использовало подготовленный оператор с драйвером jdbc и добавлял параметр, я просто хочу, чтобы подготовленный оператор зависел от того, является ли параметр пустым или нет. Можно ли это сделать?