- Oracle 10g, 11g
Используя иерархический запрос (connect by level) и, зная, что, например, запятая (в кач-ве delimeter) будет делить строку на части, а также задействовав регулярное выражение regexp_substr, можем разбить строку на несколько строк.
with t as (select 'O,r,a,c,l,e' str from dual) select regexp_substr(str, '[^,]+', 1, level) res from t connect by regexp_substr(str, '[^,]+', 1, level) is not null; res --- O r a c l e