2016-08-05 67 views
1

我有在它(具體U + FF9F)一些半寬Unicode字符,這似乎與replace功能會干擾數據:SQL Server的替換功能有使用Unicode改性劑字符奇數行爲

select replace(convert(nvarchar(max), N'"'), N'"', N'""') 

返回""符合市場預期,但

select replace(convert(nvarchar(max), N'"゚'), N'"', N'""') 

返回輸入字符串的影響:"゚。我相信這是由於SQL Server本身將兩個字符的序列解釋爲與"不同。

有沒有辦法讓replace函數用兩個雙引號字符來代替?

編輯:這個問題與在Replacing a specific Unicode Character in MS SQL Server提出的答案略有不同。這個問題是關於刪除半角字符的問題,而這個問題是關於修改半角字符旁邊的字符。在這兩個問題中,需要將排序規則設置爲Latin1_General_BIN

+0

[更換MS SQL Server中特定的Unicode字符]的可能的複製(http://stackoverflow.com/questions/24197784/replacing-a-specific-unicode-character-in-ms-sql-server ) – techspider

+2

'select replace(convert(nvarchar(max),N'''')COLLATE Latin1_General_BIN,N'''',N'「'')'將解決問題,如鏈接 – techspider

+0

所述我運行它我得到兩種情況都有兩個雙引號。這對我來說似乎是正確的。 –

回答