0
我需要做的是這樣的:SQL服務器:指定字符串文字的參數
EXEC sp_ExecuteSQL N'select * from Members where Name like @pat',
N'@pat nvarchar(max)', @pat=Tom
我的問題是關於最後一個參數。
當要分配的值是一個「簡單」字符串,即沒有空格等,我可以使用類似@pat=Tom
,不需要引號。
但是,當分配的值以%
字符結尾時,例如它不起作用,我必須執行類似@pat=N'Tom%'
的操作。
這是如何定義分配字符串文字的語法?
這是否也意味着如果我的值包含單引號,我將不得不手動轉義它?
我真的很驚訝'@ pat = Tom'不會失敗,因爲MS文檔說它應該是'@param ='value'',其中'該值可以是Unicode常量或Unicode變量',Tom是既不恆定也不變。 – Serg
它是如何工作的http://rextester.com/UACGW14527我期望它會拋出無效的標識符錯誤 –
令人驚訝的是,@ pat = Tom沒有單引號。 – Wendy