在使用数据库的过程中,总会碰到一些特别的需求。有时候需要储存中文字符,区分大小写或者按照中文的比划顺序排序。这就涉及到了对数据库排列规则的选择。

我们一般可以选择数据库名称--》右键属性(Properties)--》功能(optiotion)--》排序方式(Collation)选择。

* 由于没有中文版的数据库,中文翻译可能有误。

 

那这些不同的排序方式究竟有什么区别呢?

排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。 如:

Chinese_PRC_CI_AS 前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。

排序规则的后半部份即后缀 含义:

  • _BIN 二进制排序
  • _CI(CS) 是否区分大小写,CI不区分,CS区分
  • _AI(AS) 是否区分重音,AI不区分,AS区分
  • _KI(KS) 是否区分假名类型,KI不区分,KS区分      
  • _WI(WS) 是否区分宽度 WI不区分,WS区分

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。

区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。

区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。

区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。

我们可以在系统函数sys.fn_helpcollations 查看到所有的排序规则。在SQL Server2014 中共有3887种。

select * from sys.fn_helpcollations()

 

除了改变整个数据库的排序方式外,我们还可以在使用order by的时候制定排序方式,如:

select *
from [dbo].[cs_Appliction]
order by [AppName] collate Chinese_PRC_CS_AS_KS_WS

SQL Server排序规则的更多相关文章

  1. 利用脚本修改SQL SERVER排序规则

    利用脚本修改SQL SERVER排序规则 编写人:CC阿爸 2014-3-1 l  今年的一项重要工作是对公司所用系统进行繁简的转换,程序转成简体基本很容易解决,但数据库转换成简体,就没那么容易了.经 ...

  2. SQL Server 排序规则的影响

    目录 SQL Server 排序规则 影响 效果演示 更改数据库排序规则 服务器级排序规则 数据库级排序规则 列级排序规则 查询时指定规则 建议 使用 Unicode 数据类型 使用二进制排序规则 [ ...

  3. sql server ------创建本地数据库 SQL Server 排序规则

    sql server完整复制数据库 sql server导入导出方法 SQL Server 排序规则

  4. sql server 排序规则

    /*   排序规则根据特定语言和区域设置的标准指定对  字符串  数据 进行排序和比较的规则.   以 ORDER BY 子句为例:如果按升序排列,说英语的人认为字符串 Chiapas 应排在 Col ...

  5. 根据SQL Server排序规则创建顺序GUID

    public static class GuidUtil { , , , , , , DateTimeKind.Utc).Ticks / 10000L; /// <summary> /// ...

  6. SQL Server排序规则不一致 - Collate Database_Default

    http://www.cnblogs.com/chencidi/archive/2014/07/02/3820386.html 使用多库查询时会出现排序规则冲突的问题 解决办法 在字段后面添加Coll ...

  7. Sql Server 排序规则字符集的冲突问题

    可通过如下sql 进行修改: 如果整个DB都不一致: Alter database Expense_Portal collate Chinese_PRC_CI_AS 某张Table的栏位不一致: ) ...

  8. 修改SQL Server 排序规则 (未能排它地锁定数据库以执行该操作)

    use master go alter database DBName set single_user go alter database DBName COLLATE Chinese_PRC_CI_ ...

  9. SQL Server排序函数row_number和rank的区别

    SQL Server排序函数row_number和rank的区别 直接看测试结果 declare @table table(name varchar(100),amount int, memo var ...

随机推荐

  1. phpcms更换域名用户无法注册问题

    问题背景: 用户注册必须在后台开启phpsso,这个sso也就是单点登录了,之前做的站都没有带用户登录,也一直没注意,今天线下localhost用户登录注册都没有问题,可是移到线上测试却怎么都无法注册 ...

  2. 转:安装MySQL遇到MySQL Server Instance Configuration Wizard未响应的解决办法

    问题:安装了MySQL之后进入配置界面的时候,总会显示“MySQL Server Instance Configuration Wizard未响应”,一直卡死. 解决办法:Win7系统中,以管理员的权 ...

  3. 【leetcode】Maximum Subarray

    Maximum Subarray Find the contiguous subarray within an array (containing at least one number) which ...

  4. 基础知识(javaWeb工程目录结构)及各文件夹的作用

    在Eclipse中只要创建一个Dynamic Web Project,就可以根据创建向导创建出一个典型Java Web站点的目录结构.除非有特殊需要,在大多数情况下都没有必要修改这个目录结构,这也是W ...

  5. CentOS 7部署flume

    CentOS 7部署flume 准备工作: 安装java并设置java环境变量,在`/etc/profile`中加入 export JAVA_HOME=/usr/java/jdk1.8.0_65 ex ...

  6. PHP无法编译undefined reference to `libiconv_open

    ./configure --prefix=/usr/local/php52 make时提示:.....................................................e ...

  7. 64位win系统上面tomcat6启动不了 window不能再本地计算机启动

    64位的jdk装完之后,jre的bin目录下面没有client文件夹, 而tomcat6.0.20的默认配置启动在client文件夹下面. 所以打开tomcat6w,在java选项界面,取消Use d ...

  8. 允许FTP用户登录并禁止Shell登录的方法

    最近安装了vsftpd做FTP服务,发现系统用户的登录shell设置为/sbin/nologin,就无法使用FTP服务.网上资料说,vsftpd会为每个FTP登录用户去在/etc/shells中检查对 ...

  9. .NET中的CTS、CLS和CLR

    在学习.NET的过程中,都会不可避免地接触到这三个概念,那么这三个东西是什么以及它们之间的关系是怎样的呢?我们在学习的过程中可能比较过多的会去关注CLR,因为CLR是.NET Framework的核心 ...

  10. mybatis 的if else

    <update id="update" parameterType="XXX">         update XX set YY          ...