В SQLite вы можете сделать это с помощью рекурсивного CTE.Следующие символы получают:
with recursive cte as (
select id, substr(cb, 1, instr(cb, ' ') - 1) as chr,
substr(cb, instr(cb, ' ') + 1) as rest, 1 as lev
from t
union all
select id, substr(rest, 1, instr(rest || ' ', ' ') - 1) as chr,
substr(rest, instr(rest || ' ', ' ') + 1) as rest, lev + 1 as lev
from cte
where rest <> ''
)
select *
from cte;
Вы можете повернуть их.,,для фиксированного числа столбцов:
select id,
max(case when lev = 1 then chr end) as chr_1,
max(case when lev = 2 then chr end) as chr_2,
max(case when lev = 3 then chr end) as chr_3
from cte
group by id;
Вот БД Fiddle .