Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ERROR: function unnest(integer[]) does not exist in postgresql
- SELECT UNNEST(ARRAY[1,2,3,4])
- ERROR: function unnest(integer[]) does not exist in postgresql.
- CREATE OR REPLACE FUNCTION unnest(anyarray)
- RETURNS SETOF anyelement AS
- $BODY$
- SELECT $1[i] FROM generate_series(array_lower($1,1), array_upper($1,1)) i;
- $BODY$ LANGUAGE sql IMMUTABLE;
- SELECT unnest('{1,2,3,4}'::int[]) -- works
- SELECT unnest('{{1,2},{3,4},{5,6}}'::int[]) -- fails! (returns all NULLs)
- CREATE OR REPLACE FUNCTION unnest2(anyarray) -- for 2-dimensional arrays
- RETURNS SETOF anyelement AS
- $BODY$
- SELECT $1[i][j]
- FROM (
- SELECT i, generate_series(array_lower($1,2), array_upper($1,2)) j
- FROM (
- SELECT generate_series(array_lower($1,1), array_upper($1,1)) i
- ) x
- ) y;
- $BODY$ LANGUAGE sql IMMUTABLE;
- SELECT unnest2('{{1,2},{3,4},{5,6}}'::int[]) -- works!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement