jsp页面上有一个输入域对应表里面的一个字段,写一条模糊查询语句!任意字符输入没有报错。

解决方案 »

  1.   

    比较恶心,要找出oracle特殊字符,然后加上个'\'
      

  2.   

    你使用java的语句,在sql传入到数据库之前,把oracle特殊字符前加个'\'
      

  3.   

    不懂唉 不过Oracle中有那些特殊字符?????
      

  4.   

    1、使用instr,要注替换掉符号:单引号(单引号替换成两个单引号),
    如:如要在字段col1中模糊查询单引号:
    select * from test t where instr(t.col1,'''')>0;2、使用like:注意在前台要替换掉的字符(使用\作escape字符),单引号、\、_、%号
    如要在字段col1中模糊查询“\'_%'字符串(单引号替换成双单引号,其它特殊字符前加上\),
    替换后的SQL语句如下:
    select * from test t where t.col1 like '%\\''\_\%%' escape '\';
      

  5.   

    like 加正则表达式就可以了
      

  6.   

    select * from emp where ename like '%\_%' escape '\'; 
    select * from emp where ename like '%u_%' escape 'u';
    .....转义字符可以自定义的