Подтвердить что ты не робот

Управляющий символ Oracle SQL (для '&')

При попытке выполнить операторы вставки SQL с помощью Oracle SQL Developer я продолжаю генерировать подсказку "Введите значение подстановки":

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

Я пытался экранировать специальный символ в запросе, используя '\' выше, но я все еще не могу избежать амперсанда '& amp;', вызывающего подстановку строки.

4b9b3361

Ответ 1

и является значением по умолчанию для DEFINE, которое позволяет использовать переменные замещения. Мне нравится отключать его, используя

SET DEFINE OFF

вам не придется беспокоиться о побеге или CHR (38).

Ответ 2

|| chr(38) ||

Это решение идеально.

Ответ 3

Задайте для символа определения значение, отличное от &

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

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

Ответ 4

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

Ответ 5

SELECT 'Free &' || ' Clear' FROM DUAL;

Ответ 6

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

Ответ 7

Реальный ответ: вам нужно установить escape-символ в '\': SET ESCAPE ON

Возможно, проблема возникла либо из-за того, что экранирование было отключено, либо у escape-символа было установлено значение, отличное от '\'. Вышеприведенный оператор позволит экранировать и установить его в '\'.


Ни один из других ответов, опубликованных ранее, фактически не отвечает на исходный вопрос. Все они работают над проблемой, но не разрешают ее.