十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你这样 如果要插入的字符串中有单引号, 那么就需要skip掉。
成都创新互联于2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元曲松做网站,已为上家服务,为曲松各地企业和个人服务,联系电话:18982081108
先用个简单的例子, 比如你要显示 I'm 27 years old 作为字符串。
那么:
select 'I''m 27 yrs old' from dual; -- 这里看好: 最外层2个 单引号是说明后面是字符串。
里面的内容变成了 I''m ..... 用了2个单引号。 第一个是表示“跳过”, 而不作为整个字符串的结尾。 第二个是真的内容。
所以, 你如果要插入以上的SQL整个句子作为字符串,
那么就:
insert into tableT (testcolumn)
values (' select * from abc where a=''ab'' and b=''aa'' and c=''aa''');
每个单引号前面加上一个单引号“跳过” 而不进行字符串结尾处理。
单引号:在Oracle中,应该只使用单引号将文本和字符和日期括起来,不能使用引号(包括单双引号)将数字括起来。
双引号:在Oracle中,单双引号含义不同。双引号被用来将包含特定字符或者空格的列别名括起来。双引号还被用来将文本放入日期格式。
select
first_name
as
"first
name"
from
l_employees
order
by
"first
name"
select '''||' from dual
||正常引到引号中,就是字符了。
而单引号,需要前边再加一个单引号转义。 ''''四个单引号,前后两个表示字符串两端的单引号,中间部分是字符串。而中间有两个单引号,第一个是转义字符,表示把第二个转成字符串的单引号。第二个,就是外围两个单引号引住的实际的字符串的单引号。
您看看我列出的那个select的结果就知道了
复制粘贴其中的内容,然后单独编辑, 接着Control+F 搜索 , 里面有个替换, 那么就用 : 两个单引号替换一个单引号,或者可以写个程序去进行字符串修改。
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是字符串变量)