SQL Server處理Unicode字串時,前置詞"N"之使用
作者: Ahan 日期: 2007-09-12 21:47
前一陣子在寫一個中文姓名利用標準拚音翻成英文姓名的元件時,為了處理SQL使用Unicode文字來進行查詢時,遇到一個問題,就是當資料庫的查詢關鍵字是像堃、峯等Unicode字集時,SQL Server會無法辨認而無法查到應有的資料,查了一下微軟的支援服務後,發現在SQL Server中處理Unicode字串常數時,必須在該字串前加上大寫字母 N 做為前置詞(prefix),這樣子才能讓SQL Server在處理該輸入字串時,先行轉為目前資料庫的非Unicode字碼集。
其實這個問題是SQL Server當初在設計時,在6.5版的時候不支援Unicode資料,因此為了後能與未來的版本相容,在日後修正時,為了在不改變系統核心的情況下,將Unicode字碼的轉換工作做在SQL Command底下,但前題是所使用的資料庫版本必須支援Unicode字碼集,也就是SQL Server 7.0以後的版本。
Example:
SELECT * FROM TABLE WHERE NAME LIKE N"%KeyWord%";
在 SQL Server 中處理 Unicode 字串常數時,必需為所有的 Unicode 字串加上前置詞 N
http://support.microsoft.com/kb/239530/zh-tw
其實這個問題是SQL Server當初在設計時,在6.5版的時候不支援Unicode資料,因此為了後能與未來的版本相容,在日後修正時,為了在不改變系統核心的情況下,將Unicode字碼的轉換工作做在SQL Command底下,但前題是所使用的資料庫版本必須支援Unicode字碼集,也就是SQL Server 7.0以後的版本。
Example:
SELECT * FROM TABLE WHERE NAME LIKE N"%KeyWord%";
在 SQL Server 中處理 Unicode 字串常數時,必需為所有的 Unicode 字串加上前置詞 N
http://support.microsoft.com/kb/239530/zh-tw
Wholesale fashion watches designs and distributes Designer watches, Bvlgari Watches, Rolex Watches, and home furnishings as well, but their Cartier Handbags remain among their most well-known and sought-after Gucci Handbags. If you are looking for a reason to choose a Replica Handbags, you need look no further than the many celebrities who have chosen products designed by the teams of the Fendi Handbags.
發表評論
訂閱
上一篇
返回
下一篇
