JasperReportを使用して、必要に応じて日付フィルタを使用できるようにしたいとしましょう。 SQLは以下の通りである。JasperReportsの条件付き部分節
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
パラメータは、次のデフォルトで定義されています。これはtoString
として機能していない
($P{some.date} == null || $P{some.date}.equals("")) ? "" : "AND some_date >'" + new java.sql.Date($P{some.date}.getTime()).toString() + "'"
私のSQLサーバーが理解できる形式で出力しない日付を行います。私は、条件付きでjdbcドライバでプリペアドステートメントを使用して、そのパラメータを投げることを望みます。パラメータがnullであるかどうかに依存しているプリペアドステートメントを必要とします。これはできますか?
この条件付きステートメントを使用することができます。 –