SQLServer的排序規則(字符集編碼)
一、總結
1.SQLServer中的排序規則就是其他關係型資料庫裡所說的字符集編碼;
2.SQLServer中的排序規則可以在3處設定,如下:
伺服器級別(例項):instances ----->安裝資料庫的時候設定
資料庫級別:database
表列級別:columns
所以在使用SQLServer的排序規則的時候,只需要保證這三處一致,就是正確的使用方式;
3.SQLServer的排序規則不僅影響記錄行的sort順序,還影響中文顯示是否亂碼;
4.建立資料庫時,若我們未指定排序規則,資料庫就會使用例項預設的排序規則;
5.SQLServer的排序規則隻影響字元型的列,例如:char,varchar,text,nchar,nvarchar,ntext,因此在查詢檢視 sys.columns中非字元型的欄位的排序規則顯示是NULL;
6.需要注意的是,雖然資料庫的排序規則可以改,但是是有問題的,因為即使把資料庫的排序規則改了,庫裡的表的欄位的排序規則可能還是原來的,沒有改,這在使用的時候,就可能會存在問題,所以資料庫的排序規則盡力不要隨意改動。
7.排序規則中,二進位制排序的速度是最快的,因為SQLServer不用做任何調整即可使用快速、簡單的排序演算法。
二、查詢語句
1.查詢字符集編碼
命令:SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')
注:
(1).該資料庫例項的排序規則是Chinese_PRC_CI_AS
(2).查出結果對應的字符集編碼
936 :簡體中文GBK
950 :繁體中文BIG5
437 :美國/加拿大英語
932 :日文
949 :韓文
866 :俄文
65001 :unicode UTF-8
2.檢視例項的排序規則
命令:select serverproperty(N'Collation')
3.檢視例項下所有資料庫的排序規則
命令:select name,collation_name from sys.databases
4.修改現有資料庫的排序規則
命令:alter database telno collate Chinese_PRC_BIN
注:不建議使用,即使是資料庫改了,但是庫裡的表的列還是原來的。
5.查詢列的排序規則
命令:select name,collation_name from telno.sys.columns where collation_name is not null
注:非字元型的欄位的排序規則顯示為NULL,所以要把NULL的結果過濾掉。
6.檢視當前SQLServer版本支援的排序規則
命令:
select * from ::fn_helpcollations()
select * from fn_helpcollations()
注:
(1)雙冒號是SQL2000中呼叫內建函式的用法,SQL2005以上不需要使用冒號也能使用內建函式了;
(2)排序規則代表的意思詳解
Chinese_PRC_ :指標對大陸簡體字Unicode字符集的排序規則
後半部分的含義:
_BIN :二進位制排序
C : case,大小寫;
A :accent,重音;
I :Insensitive,不敏感,不區分;
S :sensitive,敏感,區分;
W :width,寬度
K :kanatype,假名
eg:
_CI :不區分大小寫
_AS :區分重音
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28660496/viewspace-2692360/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sqlserver2000排序規則SQLServer排序
- 關於mysql字符集及排序規則設定MySql排序
- php的編碼規則PHP
- PL/SQL的編碼規則SQL
- SERVER的排序規則Server排序
- SQLServer CDC清理規則SQLServer
- Java原始碼的折行規則(編碼規範)Java原始碼
- 密碼生成常見的編碼規則密碼
- MySQL中的排序規則MySql排序
- mysql的字符集校對規則MySql
- 編碼規則指南(轉貼)
- SQL Server排序規則SQLServer排序
- 主資料之編碼規則
- 計算機編碼規則之:Base64編碼計算機
- 應遵循的PL/SQL編碼規則 - ORACLE (zt)SQLOracle
- PL/SQL 01 程式碼編寫規則SQL
- MySQL字符集和校對規則(Collation)MySql
- List資料多重規則排序排序
- 字符集編碼(二):字元編碼模型字元模型
- 修改sqlserver字符集SQLServer
- Delphi編碼標準——一般的原始碼格式規則 (轉)原始碼
- 應遵循的PL/SQL編碼規則 (作者:Steven Feuerstein) ztSQL
- 更改系統資料庫的排序規則資料庫排序
- 字符集和字元編碼字元
- 從根上理解 MySQL 的字符集和比較規則MySql
- 【勝通 】mysql字符集與校驗規則的設定MySql
- 程式碼混淆的規則
- MySQL字符集和校對規則(character set & collation)MySql
- 編寫程式碼的若干個基本規則(以Java為例)Java
- java安全編碼指南之:執行緒安全規則Java執行緒
- java安全編碼指南之:Thread API呼叫規則JavathreadAPI
- android jni程式碼編寫規則--整理總結Android
- oracle 跟據字首規則生成編碼解決方法Oracle
- 【轉】C#3.0編碼習慣與命名規則C#
- MySql Order By 多個欄位 排序規則MySql排序
- 深入理解Emoji(一) —— 字符集,字符集編碼
- 字符集編碼(三):UnicodeUnicode
- 程式設計師需要謹記的9個安全編碼規則程式設計師