Oracle模糊查询,不用like还能用什么?有什么可以有like一样的效果?

大叔obnijeh 2009-10-09 11:02:23
Oracle对一大表进行模糊查询(或者说是搜索)不用like还能用什么?有什么可以有like一样的效果?请教了。
...全文
710 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
大叔obnijeh 2009-10-10
  • 打赏
  • 举报
回复
4楼,不能这样等价吧。这样写还关系到是否使用索引的问题。
cosio 2009-10-09
  • 打赏
  • 举报
回复
10G 以上可以用REG_LIKE
9I 以上,还可以用instr('字段','a')>0
liu498097420 2009-10-09
  • 打赏
  • 举报
回复
用正则表达式regexp_like,效率要比like高。
inthirties 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用楼主 obnijeh 的回复:]
Oracle对一大表进行模糊查询(或者说是搜索)不用like还能用什么?有什么可以有like一样的效果?请教了。
[/Quote]

不用like 可以用instr呀

比如
name like '%inthirties%'
等价于
instr(name, 'inthirties', 1, 1)>0

name like 'inthirties%'
等价于
instr(name, 'inthirties', 1, 1)=1

name like '%inthirties'
等价于
instr(name, 'inthirties', 1, -1)=length(name)-length('inthirties')+1
数据娃掘 2009-10-09
  • 打赏
  • 举报
回复
用正则表达式,
开发时这样的例子很多的.

17,082

社区成员

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

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