我需要使用 jdbc 在 Java 中执行 SQL PreparedStatement。我遇到了其中一个参数的问题,因为它具有 SQL 内容以及来自资源文件的字符串。它看起来像这样:
所需的 SQL:
SELECT * FROM Table T WHERE T.value = 10 AND T.display IN ('Sample1', 'Sample2')
在上述查询中,Sample1
andSample2
值必须通过参数传递给 PreparedStatement。
准备好的声明:
SELECT * FROM Table T WHERE T.value = 10 ?
在我的应用程序代码中,我正在设置如下参数:
statement.setString(1, "AND T.display IN ('Sample1', 'Sample2')");
但是,这不会返回适当的结果。
考虑到它也有 SQL 内容和字符串,有没有更好的方法来构建这个特定的参数?
编辑:
Sample1, Sample2
等是在运行时从外部文件中检索的字符串,每次可以有不同数量的这些字符串。即只能有一个字符串Sample1
或多个字符串Sample1, Sample2, Sample3, etc.
。
EDIT2: 正在使用的数据库是 Oracle。