oracle 插入带有单引号的语句怎么插入

select * from abc where a='ab' and b='aa' and c='aa' 将这个语句插入到某个字段中去

你这样 如果要插入的字符串中有单引号, 那么就需要skip掉。

先用个简单的例子, 比如你要显示 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''');

每个单引号前面加上一个单引号“跳过” 而不进行字符串结尾处理。追问

如果我这个语句有1页纸长,那我得多费劲啊!还有其他的方法吗?

追答

有些小技巧:
比如, 可以复制粘贴其中的内容单独编辑, 然后Control+F 搜索 , 里面有个替换, 那么就用 :
'' (两个单引号) 替换 ' (一个单引号).

或者 可以写个程序去进行字符串修改。 这些都不是大问题

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-31

复制粘贴其中的内容,然后单独编辑, 接着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是字符串变量) 

本回答被网友采纳
第2个回答  2014-01-23
select * from abc where a='ab' and b='aa' and c='aa'

换成单引号由一个换成两个
select * from abc where a=''ab'' and b=''aa'' and c=''aa''
相似回答