排序資料看似理所當然,但非英語語言有不同排序規則。西班牙語將「ch」視為單一字元排在「h」之後。處理錯誤會疏遠最終用戶。解決方案:定序規則與字串標準化。標準化非指資料庫設計正規化,而是比較兩字串以便排序的方法,可透過建立索引優化。
對非 Unicode 欄位,定序規則另一重要含義:指定資料字碼頁,決定可顯示字元。資料可在 Unicode 欄位間自由移動,但非 Unicode 欄位間移動受限。
依賴定序指定語言字碼頁。存在不同排序順序相關限制(如各種拉丁語)。使用 Latin-1 僅支援西歐語言。單一執行個體可顯示的不同地區設定數受限。相同問題適用於後期版本非 Unicode 欄位定序。「最適合字碼頁」語言(如波斯語)問題亦同樣存在。
每台伺服器有一個 Unicode 定序與一個非 Unicode 定序。非 Unicode 定序由字碼頁與排序順序 ID 組成。例如拉丁語言允許區分/不區分大小寫排序;簡體中文允許筆畫/拼音排序。
Unicode 定序中可包含任何語言字元,提供各種定序確保特定差異正確處理。解決「最適合字碼頁」問題:對波斯語資料使用通用 Unicode 定序排序即可提供用戶所需結果。Unicode 定序由地區設定 (LCID) 與多重比較樣式組成。地區設定通常按國家/文化命名,依該地區標準排序。Unicode 定序為採用 Unicode 標準的所有字元提供排序順序,指定地區設定具優先權。
| 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 |
未列出的地區設定應使用「通用 Unicode 定序」。