加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle regexp_substr 报ora-12725 正则表达式中的圆括号不配对

发布时间:2020-12-12 14:07:25 所属栏目:百科 来源:网络整理
导读:最近执行以下sql时,报“ora-12725 正则表达式中的圆括号不配对”错 select * from T_S_BBD_WORLDPORT t where length(regexp_substr('111爱尔兰111',t.itemname)) 0 '; 怀疑是正则表达式关键字括号导致,于是执行 select 1 from dual t where length(regexp

最近执行以下sql时,报“ora-12725 正则表达式中的圆括号不配对”错

select * from T_S_BBD_WORLDPORT t
where length(regexp_substr('111爱尔兰111',t.itemname)) >0 ';

怀疑是正则表达式关键字括号导致,于是执行

select 1 from dual t
where length(regexp_substr('111福克兰群岛(马尔维纳斯)111','福克兰群岛(马尔维纳斯)')) >0 ;

发现不报错也没有结果,但是执行

select 1 from dual t
where length(regexp_substr('111福克兰群岛(马尔维纳斯)111','福克兰群岛(马尔维纳斯)')) >0 ;

会报错。

换成标准写法

select 1 from dual t
where length(regexp_substr('111福克兰群岛(马尔维纳斯)111','福克兰群岛(马尔维纳斯)')) >0 ;

有返回结果。

结论:regexp_substr无法代替like '%string%'

select 1 from dual t where '111福克兰群岛(马尔维纳斯)111' like '%福克兰群岛(马尔维纳斯)%' ;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读