因此,我主要使用的是regexp_like,而不是regexp_substr- -但是在下面的字符串中
'abc 3/4/16 blah blah 3/7/16 imp 2/8/15 xxx cc2'
'3/10/18 bla bla imp-3/9/17 xfe 334 3/4/13'
I want to capture
imp 2/8/15 xxx cc2
imp-3/9/17 xfe 在regexp_like中,它只是regexp_like('abc 3/4/16 blah 3/7/16 imp 2/8/15 xxx cc2',‘(Imp),{0,20}(CC2\xfe)’),但它与regexp_substr的工作方式不同。
我试过在w/o成功下面使用这段代码。
with test (id, col) as
(select 1, 'abc 3/4/16 blah blah IMP 3/7/16' from dual union all
select 2, 'abc 3/4/16 blah blah 3/7/16 imp 2/8/15 xxx cc2' from dual union all
select 3, 'xxx 3/5/18 ccdd 234 imp happened on 5/8/19 some 23f' from dual union all
select 4, '3/10/18 bla bla imp-3/9/17 xfe 334 3/4/13 x' from dual
)
select id,
regexp_substr('(imp).*(xxx|xfe)',1) result
from test;需要对资本化进行核算!
感谢你的建议。谢谢
发布于 2019-11-15 17:44:57
在查询中根本没有使用col。
试试这个:
with test (id, col) as
(select 1, 'abc 3/4/16 blah blah IMP 3/7/16' from dual union all
select 2, 'abc 3/4/16 blah blah 3/7/16 imp 2/8/15 xxx cc2' from dual union all
select 3, 'xxx 3/5/18 ccdd 234 imp happened on 5/8/19 some 23f' from dual union all
select 4, '3/10/18 bla bla imp-3/9/17 xfe 334 3/4/13 x' from dual
)
select id,
regexp_substr(col, '(imp).*(xxx|xfe)',1, 1) result -- use occurance as 1, last parameter
from test;干杯!!
https://stackoverflow.com/questions/58881991
复制相似问题