N-й элемент из строки
24.12.2017

Иногда при передаче информации из одной среды в другую приходиться ее собирать в строку, а затем разбирать. Зачастую для разделения элементов используется какой то символ-разделитель, например запятая. Что бы извлечь N-й элемент из такой строки можно использовать различные способы.

Вариант 1. APEX API apex_util.string_to_table

Если у вас установлен APEX, можно воспользоваться его API. Пример в заметке Строка в таблицу средствами Oracle APEX

Вариант 2: REGEXP_SUBSTR('<string-with-comma>', '[^,]+', 1, <N>);

Используя регулярные выражения:

Например выражение

SELECT REGEXP_SUBSTR('123,456,789', '[^,]+', 1, 2) FROM dual;

вернет 2-й элемент строки, т.е. 456.

Такой способ весьма пригодится в SQL, т.к. позволит избежать громоздких конструкций из классических INSTR+SUBSTR

release 1.0