JDS
Дата: 07.10.2015 18:16:31
Один из извратов
WITH t AS (SELECT 'aaa;bbb;ccc;assd;zczczx' f FROM dual)
SELECT REPLACE(REGEXP_SUBSTR(f, '(^|;)\w*+', 1, LEVEL), ';', '') f
FROM t
CONNECT BY LEVEL <= LENGTH(REGEXP_REPLACE(t.f, '[^;]'))+1
Но чудится, можно гораздо проще, во всяком случае без последнего replace наверняка )
Тынц.
Дата: 08.10.2015 02:16:45
select substr(a, instr(a, ';', 1, level) + 1, instr(a, ';', 1, level + 1) - instr(a, ';', 1, level) - 1) item
from ( select ';' || 'aaa;bbb;ccc' || ';' a from dual)
connect by level < length(a) - length(replace(a, ';'))