Oracle SQL转义字符(用于'&')

ian*_*cho 84 sql oracle escaping oracle-sqldeveloper

尝试使用Oracle SQL Developer执行SQL插入语句时,我会继续生成"输入替换值"提示:

insert into agregadores_agregadores 
(
 idagregador,
 nombre,
 url
) 
values 
(
 2,
 'Netvibes',
 'http://www.netvibes.com/subscribe.php?type=rss\&url='
);
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用上面的'\' 转义查询中的特殊字符,但我仍然无法避免使用&符号'&',导致字符串替换.

来吧朋克,让我的一天:)

Nei*_*ner 119

&是DEFINE的默认值,允许您使用替换变量.我喜欢把它关掉

设定定义

那么你不必担心逃避或CHR(38).


小智 56

|| chr(38) ||

这个解决方案很完美.

  • 这可以完成工作,但在处理预先存在的字符串时有点笨拙. (2认同)

RC.*_*RC. 30

将define字符设置为&以外的其他字符

SET DEFINE ~
create table blah (x varchar(20));
insert into blah (x) values ('blah&amp');
select * from blah;

X                    
-------------------- 
blah&amp 

  • 或SET DEFINE OFF (27认同)

Jef*_*emp 15

insert into AGREGADORES_AGREGADORES (IDAGREGADOR,NOMBRE,URL)
values (2,'Netvibes',
'http://www.netvibes.com/subscribe.php?type=rss' || chr(38) || 'amp;url=');
Run Code Online (Sandbox Code Playgroud)


小智 10

SELECT 'Free &' || ' Clear' FROM DUAL;
Run Code Online (Sandbox Code Playgroud)


小智 6

select 'one'||'&'||'two' from dual