SQLSERVER的排序规则使用详解

SQL Server的排序规则(Collation)是用于确定字符数据比较、排序和区分大小写的规则。主要涉及的排序规则有:

1. 英文排序规则:

– SQL_Latin1_General_CP1_CI_AS:不区分大小写,用于西欧语言

– SQL_English_CP1_CI_AS:同上,用于英语

– SQL_Latin1_General_CP1_CS_AS:区分大小写,用于西欧语言

2. 中文排序规则:

– Chinese_PRC_CI_AS:简体中文,不区分大小写

– Chinese_PRC_CS_AS:简体中文,区分大小写

– Chinese_Taiwan_Stroke_90_CI_AS:台湾正体中文,不区分大小写

– Chinese_Taiwan_Stroke_90_CS_AS:台湾正体中文,区分大小写3. 其它语言:日语、韩语、泰语等,有相应的排序规则。

排序规则的使用方法:

1. 服务器级别:设置默认服务器排序规则,影响整个服务实例。

EXEC sp_configure 'default collation', 'Chinese_PRC_CI_AS';  
GO
RECONFIGURE;
GO 

2. 数据库级别:设置数据库默认排序规则,影响数据库中所有字符类型的数据。

ALTER DATABASE db_name 
COLLATE Chinese_PRC_CI_AS ;  

3. 列级别:设置表中单列的排序规则。

CREATE TABLE table_name  
(
    name VARCHAR(20) COLLATE Chinese_PRC_CI_AS 
)

4. 表达式级别:在SQL语句中使用COLLATE关键字指定表达式的排序规则。

SELECT * FROM table_name   
WHERE name COLLATE Chinese_PRC_CI_AS = '张三'; 

排序规则会对查询结果排序、比较大小写、区分重音字符等产生重大影响,所以在设计数据库和编写SQL语句时需要慎重考虑适当的排序规则。

同时也可以根据实际需要在不同级别设置不同的排序规则来针对性地定义字符数据的比较规则。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发

请登录后发表评论