比如要查寻名字是ha%ha的用户
select * from user where name like 'ha\%ha' escape '\';
select * from user where name like 'haA%ha' escape 'A';
这两句效果是一样的吗?

解决方案 »

  1.   

    嗯,escape 后面跟的相当于是自定义的转义符
      

  2.   

    转义符可以是任意的单个字符  1  select
      2  (case when 'ha%ha' like 'ha\%ha' escape '\' then 1 else 0 end) pattern1,
      3  (case when 'ha%ha' like 'haA%ha' escape 'A' then 1 else 0 end) pattern2
      4* from dual
    SQL> /  PATTERN1   PATTERN2
    ---------- ----------
             1          1