2016-11-29 128 views
0

我正在使用Excel運行參數化SQL Server查詢。一切工作正常,除非參數有撇號。例如,假設我的語法是這樣的將變量傳遞給SQL查詢

Select * from testtable where arovaica = @passedvalue 

,並在Excel @passedvalue設置爲Michael's我得到

語法不正確的錯誤

我應該如何封裝這個變量用撇號爲了SQL正確編譯?

+0

兩個撇號需要'「」'或者你可以用'+ CHAR(39)+' –

回答

0

嘗試更換的建議here

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

據我瞭解接替將無法正常工作,因爲它似乎取代它這將一起刪除報價。我認爲,從您的評論來看,我只需要將報價加倍,這樣SQL Server就能夠適當地「查看」字符串。 –

+0

'Replace'應該可以工作,但是我已經把'撇號'('''''','','''')'替換成了'撇號'。編輯答案 –