【发布时间】:2019-12-14 08:42:08
【问题描述】:
我正在尝试从字符串中提取括号之间的值。
这里(How to extract a string between brackets in oracle sql query),说明怎么做。
但在我的情况下,字符串有 2 行。通过这种方式,我只得到 NULL。
SELECT REGEXP_SUBSTR('Gupta, Abha (01792)', '\((.+)\)', 1, 1, NULL, 1) FROM dual --01792
SELECT REGEXP_SUBSTR('Gupta, Abha (01
792)', '\((.+)\)', 1, 1, NULL, 1) FROM dual -- NULL
我知道我可以删除断线符号然后使用 regex_substr 但我需要保留断线符号
【问题讨论】:
-
您需要的是另一个选项,'n' 或 'm',这取决于您的数据使用哪一个。查看docs.oracle.com/cd/E11882_01/appdev.112/e41502/adfns_regexp.htm上的表 3-2
-
样本数据和预期结果会有很大帮助。
-
@Daeron 您应该将您的评论转换为答案。工作fiddle