SqlServer2008实例23排序规则基础之查看排序规则元数据
SQL Server排序规则决定数据如何排序、比较、表现和存储。SQL Server允许两种类型的排序规则:Windows或SQL. Windows排序规则是SQL Server的首选,因为它们提供了更多选项并且和微软Windows环境提供的支持一致。 SQL排序规则用于早期的SQLSewer版本,并且提供了向后兼容性。除了SQL Server和数据库级别的排序规则设置,各个列也可以有自己的排序规
SQL Server排序规则决定数据如何排序、比较、表现和存储。
SQL Server允许两种类型的排序规则:Windows或SQL. Windows排序规则是SQL Server的首选,因为它们提供了更多选项并且和微软Windows环境提供的支持一致。 SQL排序规则用于早期的SQLSewer版本,并且提供了向后兼容性。
除了SQL Server和数据库级别的排序规则设置,各个列也可以有自己的排序规则设置。如果你需要在某个列中保存字符数据,而该列使用的默认排序规则与数据库或服务器级别的排序规则不同,则可以在列定义中使用COLLATE([kə'leɪt] 对照;校对;校勘;整理)命令。
对于varchar、char、nchar、nvarchar数据类型的列,可以在CREATE TABLE或ALTER TABLE操作中显式定义Windows或者SQL排序规则。
排序规则定义了3个设置:
- 用于保存非Unicode字符数据类型的代码页;
- 非Unicode字符数据类型的排列顺序;
- Unicode数据类型的排列顺序。
SQL Server实例的默认排序规则在安装时候定义,你可以使用默认的排序规则,也可以显式修改它。
可以使用SERVERPROPERTY函数和Collation选项来确定SQL Server实例的默认设置。例如:
SELECT SERVERPROPERTY('Co11ation')

除了SQL Server实例的默认排序规则设置,也可以对数据库定义一个默认排序规则。可以使用DATABASEPROPERTYEX系统函数来确定数据库默认的排序规则。例如,查询确定AdventureWorks数据库默认的数据库排序规则(第一个参数是数据库名,第二个是要查看的Collation选项):
SELECT DATABASEPROPERTYEX('AdventureWorks','Collation')

使用fn_helpcollations表函数来获取更友好的信息。
SELECT description
FROM sys.fn_helpcollations()
WHERE name='SQL_Latin1_general_CP1_C1_AS'
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)