将变量传递给SQL查询
问题描述:
我正在使用Excel运行参数化SQL Server查询。一切工作正常,除非参数有撇号。例如,假设我的语法是这样的将变量传递给SQL查询
Select * from testtable where arovaica = @passedvalue
,并在Excel @passedvalue设置为Michael's
我得到
语法不正确的错误
我应该如何封装这个变量用撇号为了SQL正确编译?
答
尝试更换的建议here
Select * from testtable where arovaica = REPLACE(@passedvalue, '', '''')
+0
据我了解接替将无法正常工作,因为它似乎取代它这将一起删除报价。我认为,从您的评论来看,我只需要将报价加倍,这样SQL Server就能够适当地“查看”字符串。 –
+0
'Replace'应该可以工作,但是我已经把'撇号'('''''','','''')'替换成了'撇号'。编辑答案 –
两个撇号需要'“”'或者你可以用'+ CHAR(39)+' –