SQL 中的collate Latin1_General_CS_AI是什么意思
发布网友
发布时间:2023-01-25 23:03
我来回答
共1个回答
热心网友
时间:2024-11-16 19:38
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