2016-03-31 3 views
-1

Как получить все слова после того, как 4-й прямой косой черты снизу с помощью REGEXP_SUBSTR? (С использованием Oracle SQL)REGEXP_SUBSTR-Oracle

/рх/v1/v2/пересылка-мгр/Сетки/shipoppre

все, что мне нужно, это

пересылка-MGR/сетки/shipoppre

Благодарности

ответ

0

Если предположить имя столбца col1:

select substr(col1, instr(col1, '/', 1, 4) + 1) 
from ... 

Вам НЕ нужно регулярное выражение; когда вы можете использовать стандартные substr и instr, это лучше, так как regexp работает медленнее.

+0

Спасибо !. Это сработало –

0

Использование REGEXP_REPLACE:

REGEXP_REPLACE(your_column, '^(/.*?){3}/') 

Использование REGEXP_SUBSTR:

REGEXP_SUBSTR(your_column, '^(/.*?){3}/(.*)$', 1, 1, NULL, 2) 

Или с помощью INSTR и SUBSTR:

SUBSTR(your_column, INSTR(your_column, '/', 1, 4) + 1) 
+0

Спасибо за ответ! –

+0

@ MT0 - В вашем последнем решении вы должны повторить свою_колонну в качестве первого аргумента для INSTR, так? – mathguy

+0

@mathguy Спасибо, это то, что я получаю за письмо, а торопиться за самолет. – MT0