SQLServer中的排序规则有哪些

发布时间:2021-08-12 15:14:37 作者:Leah
来源:亿速云 阅读:502

本篇文章给大家分享的是有关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')

SQLServer中的排序规则有哪些

  注:

(1).该数据库实例的排序规则是Chinese_PRC_CI_AS

(2).查出结果对应的字符集编码

  936 :简体中文GBK

       950  :繁体中文BIG5

  437 :美国/加拿大英语

       932  :日文

       949  :韩文

       866  :俄文

       65001 :unicode UTF-8

2.查看实例的排序规则
命令:select serverproperty(N'Collation')

SQLServer中的排序规则有哪些

 3.查看实例下所有数据库的排序规则

命令:select name,collation_name from sys.databases

SQLServer中的排序规则有哪些

 4.修改现有数据库的排序规则

命令:alter database telno collate Chinese_PRC_BIN

SQLServer中的排序规则有哪些

 注:不建议使用,即使是数据库改了,但是库里的表的列还是原来的。

5.查询列的排序规则
命令:select name,collation_name from telno.sys.columns where collation_name is not null

SQLServer中的排序规则有哪些

 注:非字符型的字段的排序规则显示为NULL,所以要把NULL的结果过滤掉。

6.查看当前SQLServer版本支持的排序规则
命令:
  select * from ::fn_helpcollations()
  select * from fn_helpcollations()

SQLServer中的排序规则有哪些

  注:

(1)双冒号是SQL2000中调用内置函数的用法,SQL2005以上不需要使用冒号也能使用内置函数了;

(2)排序规则代表的意思详解

  Chinese_PRC_ :指针对大陆简体字Unicode字符集的排序规则

  后半部分的含义:

    _BIN :二进制排序

    C : case,大小写;

    A :accent,重音;  

    I :Insensitive,不敏感,不区分;

    S :sensitive,敏感,区分;

    W :width,宽度

    K :kanatype,假名

  eg:

    _CI :不区分大小写

    _AS :区分重音

以上就是SQLServer中的排序规则有哪些,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

推荐阅读:
  1. SqlServer的优缺点有哪些
  2. MySQL中Order By多字段排序规则的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

sqlserver

上一篇:MySQL排序的内部原理是什么

下一篇:Python怎么实现谢尔宾斯基三角形

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》