Получить каждую строку в поле clob с помощью SQL-запроса - PullRequest
0 голосов
/ 10 июля 2019

У меня есть поле clob в таблице, состоящей из многострочных данных. Я хочу получить определенную строку из этого поля.

Данные поля, как показано ниже:

Project xxxxxx.
Reschedule Details:
Current Planned End Date: xxxxx
Adjusted Planned End Date: xxxxx
Current Forecasted Date: xxxxx
Reason: xxxxx – xxxxx
Comments: xxxxx

Мое требование - извлечь данные строки Reason и Comments.

1 Ответ

0 голосов
/ 11 июля 2019

Используйте REGEXP_SUBSTR с многострочным m параметром, который означает, что символ новой строки внутри строки завершает строку. Так, привязка начала строки (^) и привязка конца строки ($)может использоваться для завершения.

select regexp_substr(s,'Reason:\s*(.+)$'  ,1,1,'m',1) as Reason,
       regexp_substr(s,'Comments:\s*(.+)$',1,1,'m',1) as Comments
       from t

DEMO

...