Oracle SQL转义符(用于'&')
在尝试使用Oracle SQL Developer执行SQL插入语句时,我一直在生成一个“inputreplace值”提示符:
insert into agregadores_agregadores ( idagregador, nombre, url ) values ( 2, 'Netvibes', 'http://www.netvibes.com/subscribe.php?type=rss\&url=' );
我已经尝试使用上面的'\' 转义查询中的特殊字符,但我仍然无法避免与&符号,导致stringreplace。
前面的混蛋,让我的一天:)
&是DEFINE的默认值,它允许您使用replacevariables。 我喜欢closures它使用
SET DEFINE OFF
那么你将不必担心逃跑或CHR(38)。
|| chr(38) ||
这个解决scheme很完美。
将定义字符设置为“
SET DEFINE〜 创build表blah(x varchar(20)); 插入blah(x)值('blah&'); select*从等等。 X -------------------- 胡说和放大器
insert into AGREGADORES_AGREGADORES (IDAGREGADOR,NOMBRE,URL) values (2,'Netvibes', 'http://www.netvibes.com/subscribe.php?type=rss' || chr(38) || 'amp;url=');
SELECT 'Free &' || ' Clear' FROM DUAL;
select 'one'||'&'||'two' from dual
真正的答案是你需要设置转义字符为'\':SET ESCAPE ON
问题可能发生,因为转义被禁用,或转义字符被设置为'\'以外的东西。 上面的语句将启用转义并将其设置为“\”。
之前发布的其他答案都没有回答原来的问题。 他们都在解决这个问题,但不解决问题。