选择 id = 数组的位置 (Oracle JDBC)



我目前正在尝试将 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);

如何使用数组列表作为预准备语句参数

最新更新