Jeg ville bruge REGEXP_SUBSTR
(dokumentation
), med rigtige regulære udtryk. For eksempel:
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
Selvfølgelig hvis du gemmer Chapter xx Unit yy Sect zz
strenge i tabel, så bruger du blot denne form for forespørgsel til at få flere resultater:
select regexp_substr(info_column, 'Chapter \d*') from mytable;
Du kan erstatte \d
med [0-9]
eller [[:digit:]]