У меня есть такая строка: aa;bb;cc
Количество символов в каждом блоке может быть разным.
;
- это разделитель.
Мне нужнопринимать значения отдельно.Например: я хочу взять только вхождение во второй позиции (bb).
Я пробовал это:
SELECT trim(regexp_substr('aa;bb;cc', '[^;]+', 1, LEVEL)) str
FROM dual
CONNECT BY regexp_substr('aa;bb;cc', '[^;]+', 1, LEVEL) IS NOT NULL;
Но если я сделаю:
SELECT * FROM (SELECT trim(regexp_substr('aa;bb;cc', '[^;]+', 1, LEVEL)) str
FROM dual
CONNECT BY regexp_substr('aa;bb;cc', '[^;]+', 1, LEVEL) IS NOT NULL)
WHERE ROWNUM = 2;
Не работает.