程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> Microsoft SQL Server 2000 的國際化功能(2)

Microsoft SQL Server 2000 的國際化功能(2)

編輯:關於SqlServer

您正在看的SQLserver教程是:Microsoft SQL Server 2000 的國際化功能(2)。

排序規則

每個人都把排序的數據當作理所當然的東西;畢竟,有什麼比字母表更基本呢? 我們當中的一些人可能會想到使用不同字母集的語言,如希臘語、俄語、泰語或日語。但至少在美國,每個人似乎都認為他們唯一需要考慮的就是字母表。

問題是他們都錯了! 無論您是否想了解懂西班牙語的用戶為什麼希望將字母組合“ch”放在字母“h”之後作為單個字符進行排序,您都必須知道非英語語言具有不同的排序規則。通常,最有效的疏遠應用程序最終用戶的方法之一就是把基本排序這樣的任務弄錯。

要解決問題,可以利用排序規則(或排序順序)和稱作字符串標准化的技術。這裡的“標准化”不同於數據庫開發人員過去所習慣的標准化概念,因為它不是一個設計問題;當您提到字符串標准化時,實際是在考慮如何比較兩個字符串使它們可以排序。這可以通過創建索引來進行優化。

對於非 Unicode 列,排序規則具有另一種非常重要的含義:排序規則指定了數據的代碼頁,因而指定了可以顯示哪些字符。數據可以在各 Unicode 列間毫無阻礙地移動,但數據卻無法在非 Unicode 列中進行移動。

SQL Server 6.5 和早期版本中的排序規則

在 SQL Server 6.5 和早期版本中,通常還依賴排序規則來指定用於語言的代碼頁。這些版本中存在與不同排序順序(例如在各種拉丁語中)相關的限制。另外,如果您使用的是 Latin-1,則只能支持西歐語言。因此,在 SQL Server 單個例程上的信息中可顯示的不同區域設置數(即特定區域中使用的不同語言的數目)受到了限制。這種基本問題同樣適用於 SQL Server 後期版本中非 Unicode 字段的排序規則。此外,具有“最適合的”代碼頁的語言(例如前面在sqlserver2000.ASP#intlfeaturesinsqlserver2000_non-unicodetext">非 Unicode 文本類型:char、varchar 和 text 中提及的波斯語)方面的問題在這裡也適用。

SQL Server 7.0 中的排序規則

在每台服務器上,SQL Server 7.0 都有一個 Unicode 排序規則和一個非 Unicode 排序規則。由於每個代碼頁可以支持多種排序,所以非 Unicode 排序規則是由代碼頁和排序順序 ID 兩方面的決策組成的。例如,拉丁語言通常會既允許區分大小寫的排序也允許不區分大小寫的排序,而簡體中文既允許按筆畫排序也允許按拼音排序。

在 Unicode 排序規則中,可以在列中包含任何語言的任何字符,所以在這裡提供了各種可用的排序規則來確保任何特定於排序規則的差異都得到正確的處理。這是解決“最適合的”代碼頁問題的正確方法,因為如果使用一般的 Unicode 排序規則對波斯語數據進行排序,就可以為用戶提供他們所需的數據。Unicode 排序規則由一個區域設置和多個比較樣式組成。區域設置通常按國家或文化區域來命名。它們根據該區域中的標准對字符進行排序。Unicode 排序規則還為采用 Unicode 標准的所有字符提供了一種排序順序,但指定的區域設置將具有優先權。

下表列出了 SQL Server 7.0 中所支持的唯一 Unicode 排序規則。未列出的任何區域設置應該使用“通用 Unicode 排序規則”。

區域設置 ID (LCID) 說明 1033 通用 Unicode 33280 二進制順序 1027 加泰羅尼亞語 197636 中文漢語拼音字母(中國台灣地區) 2052 中文標點符號 133124 中文筆畫 1028 中文筆畫(中國台灣地區) 1050 克羅地亞語 1029 捷克語 1043 荷蘭語 1061 愛沙尼亞語 1036 法語 66615 現代格魯吉亞語 1031 德語 66567 德語電話簿 1038 匈牙利語 66574 匈牙利技術 1039 冰島語 1040 意大利語 1041 日語 66577 日語 Unicode 1042 朝鮮語 66578 朝鮮語 Unicode 1062 拉脫
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved