解决方案 »

  1.   

    % 在SQL中不是特殊字符,就照常封装就是了 String con = "%";
    String sql = "select * from tName where a like '" + con+ "'";楼主要的是代码中的拼装效果吧
      

  2.   

    select  * from  student  where   upper(name) like  '%' ||upper(‘输入的关键字’)||‘%’ 
      

  3.   

    SQL Like 通配符特殊用法:Escape阐述Escape 的作用:
    1.使用   ESCAPE   关键字定义转义符。在模式中,当转义符置于通配符之前时,该通配符就解释为普通字符。例如,要搜索在任意位置包含字符串   5%   的字符串,请使用:    
    WHERE   ColumnA   LIKE   '%5/%%'   ESCAPE   '/' 
    但是在mysql中好像不能使用"\"。
      

  4.   

    我用mysql查询了一下可以的额,谢谢大神些
      

  5.   

    问题没什么可说的,楼上都解释了。
    正常项目开发,如果拼装SQL语句,就要对特殊字符进行过滤,严防SQL注入
      

  6.   

    把特殊字符去掉就可以了.
    String get(String str){
    char[] value=str.toCharArry();
    StringBuilder result=new StringBuilder(value.length);
    for(char the:value){
    if(the!='%'&&the!='\\'&&the='?')
    result.append(the);
    }
    return result.toString();
    }
      

  7.   

    不是这个意思,我是要这种String sql = "select * from tName where a like '%" + con+ "'%";那么con为%就会有问题