我目前正在尝试将 Oracle(A VARCHAR2) 中的 ID 与我作为输入的 ID 数组进行比较。
这就是我想做的:
Select user, city where id = :arrayOfIds
在带有JDBC的Postgres中,我将使用:
Select user, city where id = any(:arrayOfIds)
Oracle 中是否有等效的功能,或者一种方法可以做到这一点?
你应该使用:
Select user, city where id in (:arrayOfIds)
在你的代码中,你需要用 id 在字符串中对数组进行变形:
arrayOfIds[0] --> 1
arrayOfIds[1] --> 3
arrayOfIds[2] --> 5
。 在
1, 3, 5, ...
您可以使用:
Array array = conn.createArrayOf("arrayOfIds", new Object[]{"1", "2","3"});
pstmt.setArray(1, array);
如何使用数组列表作为预准备语句参数