将变量传递给SQL查询

问题描述:

我正在使用Excel运行参数化SQL Server查询。一切工作正常,除非参数有撇号。例如,假设我的语法是这样的将变量传递给SQL查询

Select * from testtable where arovaica = @passedvalue 

,并在Excel @passedvalue设置为Michael's我得到

语法不正确的错误

我应该如何封装这个变量用撇号为了SQL正确编译?

+0

两个撇号需要'“”'或者你可以用'+ CHAR(39)+' –

尝试更换的建议here

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

据我了解接替将无法正常工作,因为它似乎取代它这将一起删除报价。我认为,从您的评论来看,我只需要将报价加倍,这样SQL Server就能够适当地“查看”字符串。 –

+0

'Replace'应该可以工作,但是我已经把'撇号'('''''','','''')'替换成了'撇号'。编辑答案 –