单引号是普通字符串,双引号一般用在表名和列名的地方.
例如 通过在创建表的时候, 在字段上, 加 双引号, 来强制区分大小写
select * from abc where a='ab' and b='aa' and c='aa' 换成单引号由一个换成两个
select * from abc where a=''ab'' and b=''aa'' and c=''aa'';
String?sql?=?"INSERT?INTO?info?(value)?VALUES('"?+?value?+?"')";(value是字符串变量)
select '''||' from dual
||正常引到引号中,就是字符了.
而单引号,需要前边再加一个单引号转义. ''''四个单引号,前后两个表示字符串两端的单引号,中间部分是字符串.而中间有两个单引号,第一个是转义字符,表示把第二个转成字符串的单引号.第二个,就是外围两个单引号引住的实际的字符串的单引号.
您看看我列出的那个select的结果就知道了
你这样 如果要插入的字符串中有单引号, 那么就需要skip掉.
那么:
所以, 你如果要插入以上的SQL整个句子作为字符串,
那么就:
insert into tableT (testcolumn)
values (' select * from abc where a=''ab'' and b=''aa'' and c=''aa''');
每个单引号前面加上一个单引号"跳过" 而不进行字符串结尾处理.