PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

regexp_split_to_table et row_number

Si vous n'avez pas besoin d'une expression régulière, il est plus efficace d'utiliser string_to_array() au lieu de regexp_split_to_table() . Pour obtenir l'index du tableau, utilisez 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;