Java将值传递到sql WHERE子句中
我有一个sql查询,比如
(sqlQuery)
SELECT *
FROM table1
WHERE to_char(id) in (?)
然后在我准备好的声明中
preparedStatement ps = new preparedStatemend(sqlQuery)
ps.setString(1,param);
其中我的参数是一个字符串链,看起来像param = '12','34', '444'
现在,我想当我执行它的时候,一切都会好起来,但事实并非如此,我得到了错误,比如ORA 01460未实现或不合理的转换
那么,如何将包含几个值的参数传递到sql查询中的IN子句中呢
# 1 楼答案
必须为IN子句的每个可能值指定一个
?
例如,如果在
IN
子句中有4个选项,那么:应该是:
您还应该通过依次递增要设置的参数的索引来设置每个参数:
因此:
应该是: