PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

regexp_split_to_table und row_number

Wenn Sie keinen regulären Ausdruck benötigen, ist es effizienter, string_to_array() zu verwenden statt regexp_split_to_table() . Um den Array-Index zu erhalten, verwenden Sie 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;