SQL> select 1 from dual where 'john_abc' like 'john/____' escape '/';         1
----------
         1已用时间:  00: 00: 00.00
SQL> select 1 from dual where 'john_ab' like 'john/____' escape '/';未选定行已用时间:  00: 00: 00.00
SQL>

解决方案 »

  1.   

    不太明白楼上的 能说详细点吗 我对oracle了解甚少 谢谢
      

  2.   

    SQL> select 1 from dual where 'aaa_bbb' like 'aaa____';         1
    ----------
             1有必要用"/"吗?
      

  3.   

    在like子句中"_"下划线是匹配任意单个字符,因为要查询的字符串中包含了下划线,所以这里要用到转义字符,oracle中转义字符是自己定义的,就是escape后面的引号内的字符,下面语句是查询所有以"john_"开头的并且后面接任意3个字符的记录:select * FROM tblUser where uName Like 'john\____' escape '\';  ---'\_'这里被转义成'_'
      

  4.   

    I agree duanzilin's opnion, escape '/'relation with oracle 9I conception.