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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 關於mysql字符集及排序規則設定MySql排序
- 資料庫建庫時字符集和排序規則的選擇資料庫排序
- Protobuf編碼規則
- SQLServer CDC清理規則SQLServer
- HAP_編碼規則
- 字符集和比較規則
- 修改sqlserver字符集SQLServer
- 主資料之編碼規則
- UTF-8編碼規則(轉)
- 體面編碼之命名規則
- 字符集與編碼
- 字符集編碼(二):字元編碼模型字元模型
- 計算機編碼規則之:Base64編碼計算機
- 【MySQL】批次修改排序規則MySql排序
- 字符集編碼(三):UnicodeUnicode
- 字符集編碼(四):UTF
- 從根上理解 MySQL 的字符集和比較規則MySql
- 深入理解Emoji(一) —— 字符集,字符集編碼
- 2021-2-18:請你說說MySQL的字符集與排序規則對開發有哪些影響?MySql排序
- MySQL字符集和校對規則(character set & collation)MySql
- 字符集編碼(上):Unicode 之前Unicode
- java安全編碼指南之:Thread API呼叫規則JavathreadAPI
- 4.編寫規則
- java安全編碼指南之:執行緒安全規則Java執行緒
- GB 2312字符集:中文編碼的基石
- 「Oracle」資料庫字符集編碼修改Oracle資料庫
- mysql字符集和字元排序MySql字元排序
- 檢查字串的byte[]是什麼編碼字符集字串
- P001-根據編碼規則自動生成ID的函式函式
- GB28181協議中20位編碼規則說明協議
- 開源相機管理庫Aravis學習——PixelFormat編碼規則ORM
- 【編碼】-整數排序-2016.08.10排序
- eKuiper Newsletter 2022-05|protobuf 編解碼支援、視覺化拖拽編寫規則UI視覺化
- 基於 XAF Blazor 的規則引擎編輯器Blazor
- Intellij Idea下設定專案字符集編碼IntelliJIdea
- GB2312漢字編碼字符集對照表
- Android 程式碼混淆規則Android
- Web前端編碼原則Web前端