Бих използвал REGEXP_SUBSTR
(документация
), с правилни регулярни изрази. Например:
select regexp_substr('Chapter 18 Unit 10 Sect 16', 'Chapter \d*') from dual;
--Will return: Chapter 18
select regexp_substr('Chapter 18 Unit 10 Sect 16', 'Unit \d*') from dual;
--Will return: Unit 10
select regexp_substr('Chapter 18 Unit 10 Sect 16', 'Sect \d*') from dual;
--Will return: Sect 16
Разбира се, ако съхранявате Chapter xx Unit yy Sect zz
низове в таблицата, тогава просто използвате този вид заявка, за да получите множество резултати:
select regexp_substr(info_column, 'Chapter \d*') from mytable;
Можете да замените \d
с [0-9]
или [[:цифра:]]код>