关于在字符串内两引号表示一引号确实有时候很麻烦,不过现在oracle改进了,楼主你的是11g可以用新特性啊,10g q quote,很好用
也就是以q或Q开头,然后后面是字符串,字符串的第1个字符和最后结束的字符是分割符号,中间的引号随便写,如果是[,
一定要是],>,),},但是开始如果是],>,),}那么结束要和开始相同,其他的符号,+,|,或字母a,A,等,开始和结束相同,包括大小写
SQL> select q'[it's a cat]' from dual
2 /
Q'[IT'SACAT]'
-------------
it's a cat
SQL> select 'it''s a cat' from dual
2 /
'IT''SACAT'
-----------
it's a cat
SQL> select q'' from dual
2 /
Q''
-------------
it's a cat
SQL> select q'(it's a cat)' from dual
2 /
Q'(IT'SACAT)'
-------------
it's a cat
SQL> select q'|it's a cat|' from dual
2 /
Q'|IT'SACAT|'
-------------
it's a cat
SQL> select q'Ait's a catA' from dual
2 /
Q'AIT'SACATA'
-------------
it's a cat
SQL> select q'+it's a cat+' from dual
2 /
Q'+IT'SACAT+'
-------------
it's a cat
SQL> select q'}it's a cat}' from dual
2 /
Q'}IT'SACAT}'
-------------
it's a cat
SQL> select Q'Ait's a catA' from dual
2 /
Q'AIT'SACATA'
-------------
it's a cat
SQL> select Q'Ait's a cata' from dual
2 /
select Q'Ait's a cata' from dual
ORA-01756: 引号内的字符串没有正确结束