文法
<SQL_collation_name> :: = SQL_SortRules[_Pref]_CPCodepage_<ComparisonStyle><ComparisonStyle> ::= _CaseSensitivity_AccentSensitivity | _BIN
參數
-
SortRules
-
標識字母表或語言的字串,當指定按字典排序時應用該字母表或語言的定序。例如 Latin1_General 或波蘭語,簡體中文為Chinese_PRC,繁體中文為Chinese_Taiwan。
-
Pref
-
指定大寫字母優先。
-
Codepage
-
指定用於標識定序所使用的字碼頁的 1 至 4 位元號碼。CP1 指定字碼頁 1252,對於所有其他字碼頁,則需要指定完整的字碼頁號碼。例如,CP1251 指定字碼頁 1251,CP850 指定字碼頁 850。
-
-
CaseSensitivity _CI(CS)
-
-
CI 指定不區分大小寫,CS 指定區分大小寫。
-
如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
-
區分大寫字母和小寫字母。如果選擇此項,排序時小寫字母將在其對應的大寫字母之前。
如果未選擇此選項,則 SQL Server 認為字母的大小寫形式對於排序目的而言是相同的。
-
AccentSensitivity _AI(AS)
-
AI 指定不區分重音,AS 指定區分重音。
-
如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項, 比較還將重音不同的字母視為不等。
-
區分重音字元和非重音字元。例如,“a”和“?”將被視為不同的字元。
如果未選擇此項,在排序時,SQL Server 將把字母的重音形式和非重音形式視為相同。
-
_KI(KS)
-
是否區分假名類型,KI不區分,KS區分。
-
區分日語裡面的兩種假名字元類型:平假名,片假名。
-
_WI(WS)
-
是否區分寬度 WI不區分,WS區分。
-
區分字元的單位元組形式和雙位元組形式。
-
如果未選擇此項,在排序時,SQL Server 將把同一字元的單位元組形式和雙位元組形式視為相同。
-
BIN
-
指定使用二進位排序次序。
-
二進位定序基於地區設定和資料類型所定義的編碼值的順序,對資料進行排序。SQL Server 中的二進位定序強制使用二進位排序次序,定義了要使用的語言地區設定和 ANSI 字碼頁。由於二進位定序相對簡單,因此對改進應用程式的效能非常有用。對於非 Unicode 資料類型,資料比較將基於 ANSI 字碼頁中定義的碼位。對於 Unicode 資料類型,資料比較將基於 Unicode 碼位。對於 Unicode 資料類型的二進位定序,資料排序將不考慮地區設定。例如,對 Unicode 資料應用 Latin_1_General_BIN 和 Japanese_BIN,會得到完全相同的排序結果。
SQL Server 中的早期二進位定序對 Unicode 資料執行的是不完整的逐碼位比較。更早的 SQL Server 二進位定序將第一個字元作為 WCHAR 比較,接下來是逐位元組比較。為了實現向後相容,將不更改現有的二進位定序語義。
-
下面是一些定序的組合情況:
_BIN1 |
二進位排序。 |
_BIN21 |
二進位-碼位排序次序(SQL Server 2005 的新增功能)。 |
_CI_AI |
不區分大小寫、不區分重音、不區分假名、不區分全半形。 |
_CI_AI_KS |
不區分大小寫、不區分重音、區分假名、不區分全半形 |
_CI_AI_KS_WS |
不區分大小寫、不區分重音、區分假名、區分全半形 |
_CI_AI_WS |
不區分大小寫、不區分重音、不區分假名、區分全半形 |
_CI_AS |
不區分大小寫、區分重音、不區分假名、不區分全半形 |
_CI_AS_KS |
不區分大小寫、區分重音、區分假名、不區分全半形 |
_CI_AS_KS_WS |
不區分大小寫、區分重音、區分假名、區分全半形 |
_CI_AS_WS |
不區分大小寫、區分重音、不區分假名、區分全半形 |
_CS_AI |
區分大小寫、不區分重音、不區分假名、不區分全半形 |
_CS_AI_KS |
區分大小寫、不區分重音、區分假名、不區分全半形 |
_CS_AI_KS_WS |
區分大小寫、不區分重音、區分假名、區分全半形 |
_CS_AI_WS |
區分大小寫、不區分重音、不區分假名、區分全半形 |
_CS_AS |
區分大小寫、區分重音、不區分假名、不區分全半形 |
_CS_AS_KS |
區分大小寫、區分重音、區分假名、不區分全半形 |
_CS_AS_KS_WS |
區分大小寫、區分重音、區分假名、區分全半形 |
_CS_AS_WS |
區分大小寫、區分重音、不區分假名、區分全半形 |
1如果選擇 BIN 或二進位-碼位,則區分大小寫、區分重音、區分假名和區分全半形選項均不可用。
針對簡體中文:sql-server預設的是按照拼音來進行排序的,在sql-server裡面預設的有以下幾個排序方式
196 |
Chinese_Taiwan_Stroke_BIN |
197 |
Chinese_Taiwan_Stroke_CI_AS |
198 |
Chinese_PRC_BIN |
199 |
Chinese_PRC_CI_AS |
其中_Stroke是按照筆畫順序進行排序,如果想對簡體中文進行筆畫排序可以採用
Chinese_PRC_Stroke_CS_AS_KS_WS等,其後的_CS_AS_KS_WS根據需要進行選擇。
from: http://blog.csdn.net/rxr1st/archive/2008/03/14/2179933.aspx