15:40:15 SQL> select 1 from dual where 'wdg%wef' like '%\%%' escape '\';         1
----------
         1已用时间:  00: 00: 00.31

解决方案 »

  1.   

    不好意思,写错了
    是这样的:
    SELECT * FROM tTable WHERE cCol LIKE'aa\bb' ESCAPE '\'
    这样写为什么会出错呢?
      

  2.   

    like 中必须有 % 或 _ 统配符 才能用ESCAPE
    象你的 SELECT * FROM tTable WHERE cCol LIKE'aa/bb%' ESCAPE '/'
    这样就行了
      

  3.   

    这句SQL在别人机器上运行是正常的,可是我机器上运行会出错,是不是设置有问题?
    出错信息为:
    ORA-01425:escape character must be character string of length 1
      

  4.   

    写错了
    like 中必须有 % 或 _ 统配符 才能用ESCAPE
    象你的 SELECT * FROM tTable WHERE cCol LIKE'aabb/%' ESCAPE '/'
    SELECT * FROM tTable WHERE cCol LIKE'aabb/_' ESCAPE '/'
    这样就能查找cCol中含有 '%' 或 '_'的记录了。
      

  5.   

    SELECT * FROM tTable WHERE cCol LIKE'%aabb/%' ESCAPE '/'
      

  6.   

    dejkstro,你给我的那句SQL,在别人机器上运行确实是正常的,可是在我的机器上就是不行,请问是不是哪里要设置一下?
      

  7.   

    to: vivachan(Up2U) , 你是直接在sqlplus中执行,还是在程序中写的?
      

  8.   

    问题有新状况,请看这个贴子,谢谢
    http://community.csdn.net/Expert/topic/3351/3351380.xml?temp=6.756228E-02