我正在尝试从字符串中提取括号之间的值。我该怎么办。
例如:我有这个字符串:Abha Gupta(01792)
我想得到括号之间的结果,即:01792
我正在尝试编写这样的查询:
select substr('Gupta, Abha (01792)',instr('Gupta, Abha (01792)','(')+1,5) from dual;
这实际上给了我结果。但是问题是括号之间的字符数不一定总是5。
所以我想避免在查询中硬编码“ 5”。
请让我知道如何使该查询更通用。
谢谢, 艾卜哈
答案 0 :(得分:2)
我们可以在此处尝试使用REGEXP_SUBSTR
SELECT REGEXP_SUBSTR('Gupta, Abha (01792)', '\((.+)\)', 1, 1, NULL, 1) FROM dual;