溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SQLServer中的排序規(guī)則有哪些

發(fā)布時間:2021-08-12 15:14:37 來源:億速云 閱讀:485 作者:Leah 欄目:關(guān)系型數(shù)據(jù)庫

本篇文章給大家分享的是有關(guān)SQLServer中的排序規(guī)則有哪些,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

一、總結(jié)

1.SQLServer中的排序規(guī)則就是其他關(guān)系型數(shù)據(jù)庫里所說的字符集編碼;

2.SQLServer中的排序規(guī)則可以在3處設(shè)置,如下:

  服務(wù)器級別(實例):instances  ----->安裝數(shù)據(jù)庫的時候設(shè)置

  數(shù)據(jù)庫級別:database

  表列級別:columns

  所以在使用SQLServer的排序規(guī)則的時候,只需要保證這三處一致,就是正確的使用方式;

3.SQLServer的排序規(guī)則不僅影響記錄行的sort順序,還影響中文顯示是否亂碼;

4.創(chuàng)建數(shù)據(jù)庫時,若我們未指定排序規(guī)則,數(shù)據(jù)庫就會使用實例默認(rèn)的排序規(guī)則;

5.SQLServer的排序規(guī)則只影響字符型的列,例如:char,varchar,text,nchar,nvarchar,ntext,因此在查詢視圖sys.columns中非字符型的字段的排序規(guī)則顯示是NULL;

6.需要注意的是,雖然數(shù)據(jù)庫的排序規(guī)則可以改,但是是有問題的,因為即使把數(shù)據(jù)庫的排序規(guī)則改了,庫里的表的字段的排序規(guī)則可能還是原來的,沒有改,這在使用的時候,就可能會存在問題,所以數(shù)據(jù)庫的排序規(guī)則盡力不要隨意改動。

7.排序規(guī)則中,二進(jìn)制排序的速度是最快的,因為SQLServer不用做任何調(diào)整即可使用快速、簡單的排序算法。

二、查詢語句

1.查詢字符集編碼

命令:SELECT COLLATIONPROPERTY('Chinese_PRC_Stroke_CI_AI_KS_WS', 'CodePage')

SQLServer中的排序規(guī)則有哪些

  注:

(1).該數(shù)據(jù)庫實例的排序規(guī)則是Chinese_PRC_CI_AS

(2).查出結(jié)果對應(yīng)的字符集編碼

  936 :簡體中文GBK

       950  :繁體中文BIG5

  437 :美國/加拿大英語

       932  :日文

       949  :韓文

       866  :俄文

       65001 :unicode UTF-8

2.查看實例的排序規(guī)則
命令:select serverproperty(N'Collation')

SQLServer中的排序規(guī)則有哪些

 3.查看實例下所有數(shù)據(jù)庫的排序規(guī)則

命令:select name,collation_name from sys.databases

SQLServer中的排序規(guī)則有哪些

 4.修改現(xiàn)有數(shù)據(jù)庫的排序規(guī)則

命令:alter database telno collate Chinese_PRC_BIN

SQLServer中的排序規(guī)則有哪些

 注:不建議使用,即使是數(shù)據(jù)庫改了,但是庫里的表的列還是原來的。

5.查詢列的排序規(guī)則
命令:select name,collation_name from telno.sys.columns where collation_name is not null

SQLServer中的排序規(guī)則有哪些

 注:非字符型的字段的排序規(guī)則顯示為NULL,所以要把NULL的結(jié)果過濾掉。

6.查看當(dāng)前SQLServer版本支持的排序規(guī)則
命令:
  select * from ::fn_helpcollations()
  select * from fn_helpcollations()

SQLServer中的排序規(guī)則有哪些

  注:

(1)雙冒號是SQL2000中調(diào)用內(nèi)置函數(shù)的用法,SQL2005以上不需要使用冒號也能使用內(nèi)置函數(shù)了;

(2)排序規(guī)則代表的意思詳解

  Chinese_PRC_ :指針對大陸簡體字Unicode字符集的排序規(guī)則

  后半部分的含義:

    _BIN :二進(jìn)制排序

    C : case,大小寫;

    A :accent,重音;  

    I :Insensitive,不敏感,不區(qū)分;

    S :sensitive,敏感,區(qū)分;

    W :width,寬度

    K :kanatype,假名

  eg:

    _CI :不區(qū)分大小寫

    _AS :區(qū)分重音

以上就是SQLServer中的排序規(guī)則有哪些,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI