處理 Unicode 字串常數時,必需在 Unicode 字串加上前置詞 N
在寫SQL時,參考網路上處理字串的範例,有的有加N,有的沒有,常讓我一頭霧水。
後來去查了一下,發現如果字串為Unicode格式,如宣告為ntext、nchar與nvarchar,必須於字串前加上大寫N作為前置詞,以利SQL SERVER判別字串。
使用上需注意以下狀況:
- 如果不是Unicode的字串前面加前置詞 N,除非在用戶端的 ANSI 字碼頁和 SQL Server 字碼頁相符合的狀況下,否則可能與沒加N造成不同的結果,所以建議不要亂加。
- 如果為Unicode的字串而未加前置詞 N,可能因SQL SERVER判別錯誤,造成字串資料遺失。
參考資料:
http://support.microsoft.com/kb/239530/zh-tw