Oracle SQL - извлечение текста в различных точках строки - PullRequest
1 голос
/ 30 апреля 2020

У меня есть следующий текстовый столбец в одном из моих наборов данных:

SYSID     SYSTEM_TEXT
123456    Customers level PP changed from 1062TTRZ to FH1342225.  Effective 04/27/2020.
123789    Customers level PP changed from FLF2 to CDAS2.  Effective 01/07/2019.

Мне нужно написать выражение, которое будет извлекать коды после «от», а также после «. К».

Желаемый вывод:

SYSID     FROM       TO
123456    1062TTRZ   FH1342225
123789    FLF2       CDAS2

1 Ответ

1 голос
/ 30 апреля 2020

Используя REGEXP_SUBSTR, мы можем попытаться сопоставить слово, которое следует за from или to:

SELECT
    SYSID,
    REGEXP_SUBSTR(SYSTEM_TEXT, 'from ([^ .]+)', 1, 1, NULL, 1) AS "FROM",
    REGEXP_SUBSTR(SYSTEM_TEXT, 'to ([^ .]+)', 1, 1, NULL, 1)   AS "TO"
FROM yourTable;
...