我想将postgresql函数的输入参数中的整数数组传递给sql IN子句。
进入什么以及如何转换这样的数组?
答案 0 :(得分:5)
我最近遇到了同样的问题。
看这里:
希望它有所帮助。
以下是一个示例函数:
CREATE OR REPLACE FUNCTION "GetSetOfObjects"(ids text)
RETURNS SETOF record AS
$BODY$select *
from objects
where id = any(string_to_array($1,',')::integer[]);$BODY$
LANGUAGE sql IMMUTABLE
答案 1 :(得分:1)
基本上你不能。你可以做的是传入一个以逗号分隔的列表,并在你的函数中拆分它。 Here are some examples使用SQL Server,但我确信它们可以翻译。
除非您this (PostgreSQL)正在谈论。
答案 2 :(得分:1)
我通常使用隐式转换
选择'{1,2,3,4,5}'::整数[]