Я хочу передать массив целых чисел из входных параметров моей функции postgresql в предложение sql IN.
Во что и как я могу преобразовать такой массив?
У меня была такая же проблема в последнее время.
Смотрите здесь:
http://postgresql.1045698.n5.nabble.com/Using-PL-pgSQL-text-argument-in-IN-INT-INT-clause-re-post-td3235644.html
Надеюсь, это поможет.
Вот пример функции:
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,2,3,4,5}' :: integer []
В принципе, вы не можете.То, что вы можете сделать, это передать список через запятую и разделить его на части в своей функции. Вот несколько примеров использования SQL Server, но я уверен, что они могут быть переведены.
Если this (PostgreSQL) это то, о чем вы говорите.