Как извлечь строку в скобках в Oracle SQL-запрос - PullRequest
1 голос
/ 29 апреля 2019

Я пытаюсь извлечь значение в скобках из строки. Как я могу это сделать.

Например: у меня есть эта строка: Гупта, Абха (01792)

И я хочу получить результат в скобках, т. Е. 01792

Я пытаюсь написать запрос, подобный этому:

select substr('Gupta, Abha (01792)',instr('Gupta, Abha (01792)','(')+1,5) from dual;

что на самом деле дает мне результат. Но проблема в том, что количество символов в скобках не всегда обязательно 5.

Поэтому я хочу избежать жесткого кодирования '5' в запросе.

Может кто-нибудь, пожалуйста, дайте мне знать, как я могу сделать этот запрос более общим.

Спасибо, Абх

1 Ответ

2 голосов
/ 29 апреля 2019

Мы можем попробовать использовать REGEXP_SUBSTR здесь:

SELECT REGEXP_SUBSTR('Gupta, Abha (01792)', '\((.+)\)', 1, 1, NULL, 1) FROM dual;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...