like和in 能组合使用吗

hmr0167 2010-01-24 08:35:28
我要执行一个语句,查询编号中以('01','0103','03','040302' 这些数据不固定,由用户选择)开头的数据,应该怎样实现,

...全文
1330 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Richard345265669 2010-01-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wildwave 的回复:]
10g以上的版本可以用正则表达式
regexp_like(COLNAME,'^(01|0103|03|040302)')
[/Quote]
顶起
hmr0167 2010-01-24
  • 打赏
  • 举报
回复
谢谢以上的各位了,我用了别的方法解决了。
oraclemch 2010-01-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wildwave 的回复:]
10g以上的版本可以用正则表达式
regexp_like(COLNAME,'^(01|0103|03|040302)')
[/Quote]

恩,用正则表达式正好解决你的问题的。
小灰狼W 2010-01-24
  • 打赏
  • 举报
回复
10g以上的版本可以用正则表达式
regexp_like(COLNAME,'^(01|0103|03|040302)')
crazylaa 2010-01-24
  • 打赏
  • 举报
回复
直接一组 select * from tbl where ** like '01%' or ** like .....
suiziguo 2010-01-24
  • 打赏
  • 举报
回复
in list必须是确定值,不能包含通配符。
like可以包含通配符,但表达式只能有一个,若有多个,则须有多个like。

where col in ('确定值','确定值','确定值',…) and|or col lile '包含通配符的值'

这样写没有问题。但是如果是in … and like …,需全部满足。
如果是in … or like …,完全没有问题,结果既包含符合in list的,也包含like里符合条件的数据。

17,137

社区成员

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

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