Oracle中特殊字符&和'的处理方案

一、符号&的处理方案

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;

你可能感兴趣的:(Oracle中特殊字符&和'的处理方案)