On Jun 5, 12:13 pm, kristo.k...@xxxxxxxxx (Kristo Kaiv) wrote: > i guess this what you meant: > (not a nice solution though) writing a function that returns the set > would be a better idea > > create table testintarr (iarr int[]); > insert into testintarr values ('5,6,7,8'); > > test=# select iarr[idx] from (select iarr, generate_series(array_lower > (iarr,1), array_upper(iarr,1)) as idx from testintarr) asdf; > iarr Function would look like this: CREATE OR REPLACE FUNCTION f_intarr_to_set(integer[]) RETURNS SETOF integer AS $BODY$ BEGIN FOR i IN array_lower($1,1) .. array_upper($1,1) LOOP RETURN NEXT $1[i]; END LOOP; END; $BODY$ LANGUAGE 'plpgsql'; SELECT * FROM f_intarr_to_set('{1,3,5,7,9,321}'); But I think I like Kristo´s query even better. :) Regards Erwin