資源描述:
《sql server排序規(guī)則的簡介、選擇、應用》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、SqlServer排序規(guī)則的簡介、選擇、應用一、排序規(guī)則簡介:什么叫排序規(guī)則呢?MS是這樣描述的:"在MicrosoftSQLServer?中,字符串的物理存儲由排序規(guī)則控制。排序規(guī)則指定表示每個字符的位模式以及存儲和比較字符所使用的規(guī)則。" 在查詢分析器內執(zhí)行下面語句,可以得到SQL SERVER支持的所有排序規(guī)則?! elect*from::fn_helpcollations()排序規(guī)則名稱由兩部份構成,前半部份是指本排序規(guī)則所支持的字符集。如: Chinese_PRC_CS_AI_WS前半部份:指UNICODE字符集,Chinese_P
2、RC_指針對大陸簡體字UNICODE的排序規(guī)則,按拼音排序。Chinese_PRC_Stroke表示按漢字筆畫排序;排序規(guī)則的后半部份即后綴含義: _BIN二進制排序 _CI(CS)是否區(qū)分大小寫,CI不區(qū)分,CS區(qū)分(case-insensitive/case-sensitive) _AI(AS)是否區(qū)分重音,AI不區(qū)分,AS區(qū)分(accent-insensitive/accent-sensitive) _KI(KS)是否區(qū)分假名類型,KI不區(qū)分,KS區(qū)分(kanatype-insensitive/kanatype-sensitive) _
3、WI(WS)是否區(qū)分寬度WI不區(qū)分,WS區(qū)分(width-insensitive/width-sensitive) 區(qū)分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。區(qū)分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視為不等。區(qū)分假名:如果想讓比較將片假名和平假名日語音節(jié)視為不等,請選擇該選項。區(qū)分寬度:如果想讓比較將半角字符和全角字符視為不等,請選擇該選項。二、排序規(guī)則選擇:如果SQLServer?實例的所有用戶都使用同一種語言,則應選取支持該語言的排序規(guī)則。例如,如果所有用戶都講
4、法語,則選擇法語排序規(guī)則。如果您的SQLServer實例的用戶講多種語言,則應選擇能最好地滿足各種語言需要的排序規(guī)則。例如,如果用戶一般都講西歐語言,則選擇Latin1_General排序規(guī)則。如果要支持講多種語言的用戶,則對于所有字符數(shù)據(jù)使用Unicode數(shù)據(jù)類型nchar、nvarchar和nvarchar(max)是非常重要的。Unicode可避免非Unicode的char、varchar和text數(shù)據(jù)類型帶來的代碼頁轉換難題。因為排序規(guī)則定義用于比較操作的排序次序和Unicode字符的排序,所以當用Unicode數(shù)據(jù)類型實現(xiàn)所有列時,排序規(guī)則仍
5、會產(chǎn)生不同。即使使用Unicode數(shù)據(jù)類型存儲字符數(shù)據(jù)時,也應選擇支持大多數(shù)用戶的排序規(guī)則,以防使用非Unicode數(shù)據(jù)類型實現(xiàn)列或變量。SQLServer只支持由基礎操作系統(tǒng)支持的代碼頁。在執(zhí)行取決于排序規(guī)則的操作時,引用的對象所使用的SQLServer排序規(guī)則必須使用計算機上運行的操作系統(tǒng)所支持的代碼頁。如果指定的排序規(guī)則(或引用的對象所使用的排序規(guī)則)使用Windows操作系統(tǒng)不支持的代碼頁,則SQLServer將發(fā)出錯誤。對此錯誤的響應取決于計算機上安裝的Windows操作系統(tǒng)的版本。Windows2000及更新版本支持由SQLServer排序
6、規(guī)則使用的所有代碼頁。因此,不會出現(xiàn)該錯誤消息。三、排序規(guī)則的語法:Windows排序規(guī)則名稱由排序規(guī)則指示器和比較風格構成。語法::=????CollationDesignator_????::=????????CaseSensitivity_AccentSensitivity????????[_KanatypeSensitive[_WidthSensitive]]????????
7、_BIN參數(shù)CollationDesignator指定
8、Windows排序規(guī)則使用的基本排序規(guī)則?;九判蛞?guī)則包括:·當指定按字典排序時應用其排序規(guī)則的字母表或語言·用于存儲非Unicode字符數(shù)據(jù)的代碼頁。例如Latin1_General或法文,兩者都使用代碼頁1252,或土耳其文,它使用代碼頁1254。CaseSensitivityCI指定不區(qū)分大小寫,CS指定區(qū)分大小寫。AccentSensitivityAI指定不區(qū)分重音,AS指定區(qū)分重音。KanatypeSensitiveOmitted指定不區(qū)分大小寫,KS指定區(qū)分假名類型。WidthSensitivityOmitted指定不區(qū)分大小寫,WS指定區(qū)
9、分大小寫。BIN指定使用二進制排序次序。注釋Microsoft?SQLServer?2000W