Обсуждение: Using unnest function on multi-dimensional array.

Поиск
Список
Период
Сортировка

Using unnest function on multi-dimensional array.

От
Nimesh Satam
Дата:
Hi,

Can anybody highlight how to use unnest function from postgres 8.4 on multi-dimensional array?

Below is the sample table structure:

Table "public.multi_array_test"
 Column  |   Type   | Modifiers
---------+----------+-----------
 id      | integer  |
 user_id | bigint[] |

Sample data:

  1 | {{3567559397,0},{3020933367,1},{2479094216,2},{3310282955,3}}

Regards,
Nimesh.

Re: Using unnest function on multi-dimensional array.

От
Pavel Stehule
Дата:
Hello

2009/10/12 Nimesh Satam <nimesh.zedo@gmail.com>:
> Hi,
>
> Can anybody highlight how to use unnest function from postgres 8.4 on
> multi-dimensional array?
>
> Below is the sample table structure:
>
> Table "public.multi_array_test"
>  Column  |   Type   | Modifiers
> ---------+----------+-----------
>  id      | integer  |
>  user_id | bigint[] |
>
> Sample data:
>
>   1 | {{3567559397,0},{3020933367,1},{2479094216,2},{3310282955,3}}
>
> Regards,
> Nimesh.
>

use generate_subscripts

postgres=#
create or replace function unnest2(anyarray)
returns setof anyelement as $$
select $1[i][j]
   from generate_subscripts($1,1) g1(i),
        generate_subscripts($1,2) g2(j);
$$ language sql immutable;

postgres=# select * from unnest2(array[[1,2],[3,4]]);
 unnest2
---------
       1
       2
       3
       4
(4 rows)

regards
Pavel Stehule