From 百度知道 SQLSERVER 字符集排序规则简单说明

https://zhidao.baidu.com/question/390314825002277485.html

学习一下, 以后说不定用得到.

collate Latin1_General_CS_AI
就是使用Latin1_General_CS_AI这种排序规则。
Latin1_General_CS_AI是一个排序规则的名称,是众多排序规则中的一种。

----知识拓展.排序规则名称----
排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集:比如:
Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义:
  _BIN 二进制排序
  _CI(CS) 是否区分大小写,CI不区分,CS区分
  _AI(AS) 是否区分重音,AI不区分,AS区分   
  _KI(KS) 是否区分假名类型,KI不区分,KS区分 
_WI(WS) 是否区分宽度 WI不区分,WS区分

----知识拓展.排序规则等级----
SQL Server中有4个级别的排序设置:
1.
服务器级排序规则:
默认排序规则是在 SQL Server 安装期间设置的,并且会成为系统数据库的默认排序规则。
2.
数据库级排序规则:
创建数据库时,可以使用 CREATE DATABASE 语句的 COLLATE 子句指定默认的数据库排序规则。如果未指定排序规则,则为该数据库分配 model 数据库的默认排序规则。model 数据库的排序规则与 SQL Server 实例的默认排序规则相同。
3.
列级排序规则:
创建表时,可以使用 CREATE TABLE 语句的 COLLATE 子句指定每个字符串列的排序规则。如果未指定排序规则,则为该列分配数据库的默认排序规则。
4.
表达式级排序规则:
表达式级排序规则在语句运行时设置,并且影响结果集的返回方式。这可以使 ORDER BY 排序结果特定于区域设置。使用如下的 COLLATE 子句可以实现表达式级排序规则:
SELECT name FROM customer ORDER BY name COLLATE Latin1_General_CS_AI

原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/9563812.html