Ik zou REGEXP_SUBSTR
. gebruiken (documentatie
), met de juiste reguliere expressies. Bijvoorbeeld:
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
Natuurlijk als je Chapter xx Unit yy Sect zz
. bewaart strings in de tabel, dan gebruik je dit soort zoekopdracht om meerdere resultaten te krijgen:
select regexp_substr(info_column, 'Chapter \d*') from mytable;
U kunt \d
. vervangen met [0-9]
of [[:digit:]]