PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

regexp_split_to_table e row_number


Se você não precisa de um regex, é mais eficiente usar string_to_array() em vez de regexp_split_to_table() . Para obter o índice do array, use with ordinality
select t.id, 
       x.idx,
       x.word
from the_table t, 
     unnest(string_to_array(string_data, ';')) with ordinality as x(word, idx)
order by t.id, x.idx;