Oracle对一大表进行模糊查询(或者说是搜索)不用like还能用什么?有什么可以有like一样的效果?请教了。

解决方案 »

  1.   

    用正则表达式regexp_like,效率要比like高。
      

  2.   

    10G 以上可以用REG_LIKE
    9I 以上,还可以用instr('字段','a')>0
      

  3.   


    不用like 可以用instr呀比如
    name like '%inthirties%'
    等价于
    instr(name, 'inthirties', 1, 1)>0name like 'inthirties%'
    等价于
    instr(name, 'inthirties', 1, 1)=1name like '%inthirties'
    等价于
    instr(name, 'inthirties', 1, -1)=length(name)-length('inthirties')+1