2011-01-28 5 views
0

Я пытаюсь выполнить запрос, какИспользование и в UPDATE SQL Server

UPDATE myTable SET Name='B&L' WHERE ID = 1; 

Проблема в том, я получаю следующее сообщение об ошибке:

Unclosed quotation mark after the character string 'B'.

Моя колонка имеет тип varChar и, как вы может видеть, что я убегаю строку с «кавычками». Как я могу получить символ &?

Спасибо.

+2

Выполнение этого обновления прямо в SSMS будет в порядке. Как вы отправляете запрос? –

+0

Это не связанный запрос сервера, не так ли? – RichardTheKiwi

ответ

0

Для MSSQL пытаются уйти от &, заключив его в квадратные скобки, чтобы она стала:

UPDATE myTable SET Name='B[&]L' WHERE ID = 1; 

Или вы могли бы использовать ESCAPE Постулаты так:

UPDATE myTable SET Name='B\&L' WHERE ID = 1 ESCAPE '\'; 
+0

Это хорошие варианты, но, как выясняется, когда я отправлял данные через ajax, он был поврежден. Я переключил функцию jquery ajax, и запрос работает как есть. – Mike

0

Похоже, ваше заявление должен работать в SQL Server. Я видел некоторые примеры Oracle, у которых были проблемы с амперсандами. В таких случаях вы можете использовать что-то вроде этого:

UPDATE myTable SET Name='B&' + 'L' WHERE ID = 1 
Смежные вопросы