一、符号&的处理方案
1、在前面加上语句set define off
首先要理解&是做什么的,这个符合在Oracle中表示替代变量,执行时会提示用户输入,然后&以及后面的字符会替换为用户输入的字符。
set define off的作用是关闭替代变量功能。当然你还可以把替代变量改为其它符号,比如改为*号,输入这个命令:set define *
2、在SQL语句中将&分拆并替换成chr(38)
38是&的ASCII码,实例sql
select 'uid=12345' || chr(38) || 'uname=tom' from dual;
3、分拆出&号,这也是最简单直接的方法
select 'uid=67890' || '&' || 'uname=lucy' from dual;
二、符号'的处理方案
1、直接转义
select 'a=''b'' and c=1' from dual;
2、分拆转义
select 'a=' || '''' || ' and c=1' from dual;
3、分拆并替换成chr(39)
select 'a=' || chr(39) || ' and c=1' from dual;