То, что я закончил, было следующим.Я взял целые числа, которые я ожидал, через запятую.Затем я запустил на нем следующее:
CREATE OR REPLACE PROCEDURE test_string_to_int(VARCHAR)
AS $$
DECLARE
split_me ALIAS FOR $1;
loop_var INT;
BEGIN
DROP TABLE IF EXISTS int_list;
CREATE TEMPORARY TABLE int_list (
integer_to_store INT
);
FOR loop_var IN 1..(REGEXP_COUNT(split_me,',') + 1) LOOP
INSERT INTO int_list VALUES (CAST(SPLIT_PART(split_me,',',loop_var) AS INT));
END LOOP;
END;
$$ LANGUAGE plpgsql;
Так что я бы вызвал процедуру с чем-то вроде:
CALL test_string_to_int('1,2,3');
и мог бы сделать оператор select для просмотра всех сохраненных значенийв стол.Тогда в моих запросах нужен этот параметр, который я запустил:
.........................
WHERE num_items IN(SELECT integer_to_store FROM int_list);