SQL Server處理Unicode字串時,前置詞"N"之使用

前一陣子在寫一個中文姓名利用標準拚音翻成英文姓名的元件時,為了處理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
引用通告地址: 點擊獲取引用地址
評論: 2 | 引用: 0 | 閱讀: 3373 | 列印
Designerwatches [ 2010-05-06 00:45 網址 | 回覆 | 編輯 刪除 ]
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.
minfengju [ 2010-04-16 19:22 網址 | 回覆 | 編輯 刪除 ]
  • 1 
發表評論
暱 稱: 密 碼:
網 址: E - mail:
驗證碼: 驗證碼圖片 選 項:
內 容: