我正在尝试将整数列表绑定到SQLTemplate IN子句中,如下所示:
SELECT * FROM table1 WHERE id IN ( #bind($idList) );
我有一串ID:
idList = "1, 2, 3, 4";
我无法使绑定成功运行,当我将字符串作为要检查的ID列表传递时,它不返回任何值。
我不得不使用字符串连接来运行它(不理想)。
关于如何让它正确绑定的任何想法?
提前致谢。
(我正在使用Java / Cayenne / Postgres,并以传入的idList作为参数运行查询,这是一个简化的示例,而不是我正在运行的实际sql。) < / p>
更新我想出了如何做到这一点。回答如下。
答案 0 :(得分:2)
好的,我在发布问题后立即知道该怎么做。
不使用字符串,而是使用如下所示的整数列表:
List<Integer> ids = {1,2,3,4,5} (pseudocode)
要进行绑定,您需要以下内容:
SELECT * FROM table1 WHERE id IN ( #bind($idList, 'INTEGER') );
然后像往常一样传递参数,它会起作用。