u012112909
董松建
采纳率33.3%
2018-11-30 03:20 阅读 3.4k

oracle正则表达式,不包含某个字符串?

需要在oracle中用正则表达式筛选出符合下述规则的编号:开头是a,结尾是0,中间任意位置不能出现cell这个单词

with a as (

select 'akcellp0' ss from dual

union all

select 'alcxlle0' from dual

union all

select 'akellr0' from dual

union all

select 'ackellb0' from dual

)select * From a

where not regexp_like(ss, '^a.*cell.*0$') 。

但是受到系统框架的限制,不能使用not,必须在regexp_like中用一个正则表达式筛选数据。应该怎么写?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

2条回答 默认 最新

  • qq_27889941 Oaix Nay 2018-11-30 03:52

    你试试这个:
    ^a((?!cell).)*0$

    点赞 评论 复制链接分享
  • u012112909 董松建 2018-12-03 00:44

    不行呢,oracle的正则表达式和标准的正则好像不完全一样。?!这种表达式在oracle中不认呢。

    点赞 评论 复制链接分享

相关推荐