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

Ответы на вопрос(3)

Ваш ответ на вопрос