2013-11-20 35 views
0

我在替換sql查詢中的字符時遇到問題。 我使用VS 2008 我試圖取代土耳其角色,我對我替換函數在動態sql查詢中不起作用

正常工作:

Select FirstName, REPLACE(FirstName,N'İ','I') replaced 
from Employee where FirstName = N'İAİL' 

動態語句中使用時,無法

相同的查詢無法在動態語句來代替。

DECLARE @SQL NVARCHAR(4000) 
SET @SQL = 'Select FirstName, REPLACE(FirstName,N''İ'',''I'') replaced from Employee where FirstName = N'İAİL' 
EXEC (@SQL) 

你能告訴我爲什麼在第二種情況下失敗。

對此的任何幫助將在這裏非常感謝。

感謝 王子

回答

1

複製並粘貼到SSMS的語法高亮顯示你錯過了一些撇號在你的語句結尾:

DECLARE @SQL NVARCHAR(4000) 
SET @SQL = 'Select FirstName, REPLACE(FirstName,N''İ'',''I'') replaced from Employee where FirstName = N''İAİL''' 
EXEC (@SQL) 

動態SQL一樣,有很多的字符串是皇家PITA。