2016-11-29 4 views
0

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

Select * from testtable where arovaica = @passedvalue 

И в @passedvalue Excel установлен в Michael's я получаю ошибку

Неправильный синтаксис

Как я должен инкапсулировать эту переменную с апострофом для правильной компиляции SQL?

+0

два апострофа требуется '«» 'или вы можете заменить его' + полукокса (39) + ' –

ответ

0

Попробуйте заменить как предложено here

Select * from testtable where arovaica = REPLACE(@passedvalue, '', '''') 
+0

В моем понимании заменить не будет работать, как это кажется что бы удалить цитату все вместе. Я думаю, судя по вашему комментарию, мне просто нужно удвоить цитату, поэтому SQL Server «видит» строку соответствующим образом. –

+0

'Replace' должен работать, но я получил апострофы в обратном порядке. Выберите REPLACE ('Michael' ',' ',' '' ')'. Редактирование ответа –