oracle 正则表达式

远古6868 2021-03-25 08:29:10
用正则表达式,查询不包含A字母的结果集,例如emp表,查询ename字段的不包含A的
我写了 select ename from emp where regexp_like(ename,[^A]) 这样写不行,这样
只显示不是A开头的,
我想要的是只要名字有A的就去掉
...全文
630 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
miqi_oracle 2021-05-07
  • 打赏
  • 举报
回复
加个not就行了。select column1 from regexp_statement where not regexp_like(column1,'A');
远古6868 2021-05-07
  • 打赏
  • 举报
回复
引用 6 楼 数据装进口袋的回复:
加个not就行了。select column1 from regexp_statement where not regexp_like(column1,'A');
对的,加not就行了,前几天我也发现了,感觉好傻
Hajo_ 2021-04-06
  • 打赏
  • 举报
回复
SELECT ename FROM emp WHERE regexp_substr(ename,'.*A.*')IS NULL;
这样可以实现.
远古6868 2021-04-02
  • 打赏
  • 举报
回复
引用 like 很简单就可以实现 只不过我想用正则表达式实现,最近在练习正则表达式,
远古6868 2021-03-31
  • 打赏
  • 举报
回复
谢谢哈 但是还是不行呢,依然跟我写的效果是一样,只是 把开头有A去掉了,没有把包含所有A的去掉
black_warror 2021-03-31
  • 打赏
  • 举报
回复
where ename not like '%A%'试下
顾染尘 2021-03-26
  • 打赏
  • 举报
回复
select ename from emp where regexp_like(ename,[^A]{1,3}) 其中 ,[^A]:不包含A {1,3}表示匹配ename字符位是1到3位的 这个你看你需要几位自己改

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧