应该是'引起的,看这样行不
insert into table1 values('like ''%')

解决方案 »

  1.   

    对,确实是引号引起的。我刚才找到一份资料上说:---------------------
    [Q]如何插入单引号到数据库表中
    [A]可以用ASCII码处理,其它特殊字符如&也一样,如 
    insert into t values('i'||chr(39)||'m'); -- chr(39)代表字符'
    或者用两个单引号表示一个
    or insert into t values('I''m'); -- 两个''可以表示一个'
    ---------------------但我的实际情况是这样的,这种书写形式的数据是从数据库中导出来的,不能手工修改,现在要把它插入到新的数据库中。请问有什么好的解决办法?我用的程序语言是Java。
      

  2.   

    但我的实际情况是这样的,这种书写形式的数据是从数据库中导出来的,不能手工修改,现在要把它插入到新的数据库中。请问有什么好的解决办法?我用的程序语言是Java。
    -----------
    问题出现在你拼串的过程中未对"'"转义,从数据库中取出的数据不用修改直接就能存到数据库中。
    Visual_Studio_Net(打鼠英雄) 说的是对的,单引号双写可以表示一个单引号,也可以用chr(39)来表示单引号
      

  3.   

    我写了一个类,可以了,下面是相关部分的代码
    public class WellFormatedString {
    private static String wildcardTransform(String src, String neededReplace, String usedToReplace) {
    StringBuffer temp = new StringBuffer(src.replaceAll(neededReplace, usedToReplace));
    return new String(temp);
    }
    }