Извлечение шаблона из данных CLOB - PullRequest
0 голосов
/ 31 января 2019

Мои строковые данные выглядят так:

'Hello world.Переход от ABCD-123 к ACDE-234. '

Мне нужно извлечь значения' ABCD-123 to ACDE-234 'из приведенной выше строки.Я собирался использовать regexp_substr, но я хотел проверить, есть ли другие способы или извлечь эти данные.Спасибо.

Ответы [ 2 ]

0 голосов
/ 31 января 2019

Приведенный ниже запрос будет работать для всех 3 строк, но не уверен в производительности, и я не смог найти простой метод:

select reverse(REGEXP_SUBSTR(reverse('Hello world. Travelling from ABCD-123 to ACDE-234'),'[^ ]+',1,3))||' '||
       reverse(REGEXP_SUBSTR(reverse('Hello world. Travelling from ABCD-123 to ACDE-234'),'[^ ]+',1,2))||' '||
       reverse(REGEXP_SUBSTR(reverse('Hello world. Travelling from ABCD-123 to ACDE-234'),'[^ ]+',1,1))
from dual;
0 голосов
/ 31 января 2019

Один вариант будет использовать regexp_replace, как в примере ниже

with t(str) as
(
 select 'Hello world. Travelling from ABCD-123 to ACDE-234' from dual
)
select 
       regexp_replace(str,'.*.\from(.*)','\1') as "Result String"
  from t;

 Result String
 --------------------
  ABCD-123 to ACDE-234
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...