Пример использования instr()
для получения индекса символа (и какого вхождения) и substr()
для получения подстроки строки:
select
substr(str,
instr(str, '"', 1,3)+1,
instr(str, '"', 1, 4)- instr(str, '"', 1,3)-1)
from
(select 'here is "table". "tiger" some other txt' str from dual) strt;
Здесь substr
использует instr(str, '"',1,3)
для получения третьего вхождения "" ". Затем оно использует instr(str, '"', 1, 4)
для получения четвертого вхождения, но мы должны вычесть положение третьего" "", так как этот параметр является размер текста в подстроке (т.е. текст между кавычками в нашем случае).
Вы можете улучшить способ получения четвертого вхождения, когда он снова начинает поиск с позиции 1, а не с позиции 3.