根据之前的文章,我可以将多维数组嵌套为整数[],但是我希望能够创建多个列:
CREATE OR REPLACE FUNCTION unnest_2d_1d(ANYARRAY, OUT a ANYARRAY)
RETURNS SETOF ANYARRAY AS
$func$
BEGIN
FOREACH a SLICE 1 IN ARRAY $1 LOOP
RETURN NEXT;
END LOOP;
END
$func$ LANGUAGE plpgsql IMMUTABLE;
然后执行:
select unnest_2d_1d(array[[1,2],[4,5]]);
结果:
12
45
但是我想要实现的是:
1 | 2
4 | 5
我也尝试过取消嵌套的结果,但是它没有用,因为它仅创建一个包含所有信息的唯一列