我正在使用Excel運行參數化SQL Server查詢。一切工作正常,除非參數有撇號。例如,假設我的語法是這樣的將變量傳遞給SQL查詢
Select * from testtable where arovaica = @passedvalue
,並在Excel @passedvalue設置爲Michael's
我得到
語法不正確的錯誤
我應該如何封裝這個變量用撇號爲了SQL正確編譯?
我正在使用Excel運行參數化SQL Server查詢。一切工作正常,除非參數有撇號。例如,假設我的語法是這樣的將變量傳遞給SQL查詢
Select * from testtable where arovaica = @passedvalue
,並在Excel @passedvalue設置爲Michael's
我得到
語法不正確的錯誤
我應該如何封裝這個變量用撇號爲了SQL正確編譯?
嘗試更換的建議here
Select * from testtable where arovaica = REPLACE(@passedvalue, '', '''')
據我瞭解接替將無法正常工作,因爲它似乎取代它這將一起刪除報價。我認爲,從您的評論來看,我只需要將報價加倍,這樣SQL Server就能夠適當地「查看」字符串。 –
'Replace'應該可以工作,但是我已經把'撇號'('''''','','''')'替換成了'撇號'。編輯答案 –
兩個撇號需要'「」'或者你可以用'+ CHAR(39)+' –