Oracle DBを使用していると仮定すると(他のシステムでは動作が異なる場合があります)、バインド変数(JDBC音声の場合:疑問符)がスカラー値を置き換える可能性があることに注意してください。 のみ、例:文字列または数字。
しかし、リストのようなものが必要です この場合、バインド変数は役に立ちません。
おそらくあなたが望むものを達成するための最も簡単な方法はこれです:
クエリに次のように記述します:
WHERE column_name in (1) -- $REPLACE_THIS$
クエリでコメントをマーカーとして使用していることに注意してください。次に、クエリのbeforeOpen
イベントの場合、クエリテキストを次のように変更します:
// construct a comma-separated string representation of your list
// based on your report parameter (exercise left to the reader)
// var replacement = my_to_sql_csv(params["my_report_parameter"].value);
// for demonstration use:
var replacement = "1,2";
// modify the `IN` expression inside the SQL
this.queryText = this.queryText.replaceAll("(1) -- $REPLACE_THIS$", "(" + replacement + ")";
それだけです。