Lo que es una manera más rápida de resolver la matriz en las filas de PostgreSQL? es decir,

Tenemos:

a
-
{1,2}
{2,3,4}

Y necesitamos:

b
- 
1
2
2
3
4

Estoy de uso:

select explode_array(a) as a from a_table;

donde explode_array es:

create or replace function explode_array(in_array anyarray) returns setof anyelement as
$$
    select ($1)[s] from generate_series(1,array_upper($1, 1)) as s;
$$

Es de alguna manera mejor?

InformationsquelleAutor potapuff | 2011-09-05

2 Comentarios

  1. 60

    Uso unnest. Por ejemplo:

    CREATE OR REPLACE FUNCTION test( p_test text[] )
      RETURNS void AS
    $BODY$
    BEGIN
      SELECT id FROM unnest( p_test ) AS id;
    END;
    $BODY$
      LANGUAGE plpgsql IMMUTABLE
      COST 1;
    • ¿dónde han definido el nombre de la tabla?

Dejar respuesta

Please enter your comment!
Please enter your name here