Oracle用instr代替like

2014-11-24 17:42:33 · 作者: · 浏览: 4

  SQL> set timing on


  SQL> select count(*) from t where instr(title,’手册’)>0;


  COUNT(*)


  ———-


  65881


  Elapsed: 00:00:11.04


  SQL> select count(*) from t where title like ‘%手册%’;


  COUNT(*)


  ———-


  65881


  Elapsed: 00:00:31.47


  SQL> select count(*) from t where instr(title,’手册’)=0;


  COUNT(*)


  ———-


  11554580


  Elapsed: 00:00:11.31


  SQL> select count(*) from t where title not like ‘%手册%’;


  COUNT(*)


  ———-


  11554580


  注:


  instr(title,’手册’)>0 相当于like


  instr(title,’手册’)=0 相当于not like