使用排序规则

排序规则根据特定语言和区域设置的标准指定对字符串数据进行排序和比较的规则。以 ORDER BY 子句为例:如果按升序排列,说英语的人认为字符串 Chiapas 应排在 Colima 之前。但是,对于在墨西哥说西班牙语的人来说,他们会认为以“Ch”开头的单词应显示在以“C”开头的单词列表的末尾。排序规则规定了这些排序和比较规则。Latin_1 General 排序规则在 ORDER BY ASC 子句中将“Chiapas”排在“Colima”之前,而 Traditional_Spanish 排序规则将“Chiapas”排在“Colima”之后。

当为非 Unicode 字符数据(例如 char、varchar 和 text 数据)指定排序规则时,某特定代码页将与该排序规则相关联。例如,如果表中的 char 列是使用 Latin1_General 排序规则定义的,则 SQL Server 将使用 1252 代码页来解释和显示该列中的数据。有关代码页和排序规则的详细信息,请参阅代码页体系结构

多个排序规则可对非 Unicode 数据使用相同的代码页。

为纯 Unicode 数据(例如 nchar、nvarchar 和 nvarchar(max))指定的排序规则没有关联的代码页。Unicode 数据可以处理大多数通用字符。有关详细信息,请参阅使用 Unicode 数据

有关 SQL Server 2008 中新增的 Windows 排序规则支持(基于 Windows 系统区域设置的排序规则)及所有其他 Windows 排序规则的信息,请参阅 Windows 排序规则名称 (Transact-SQL)

有关 SQL Server 排序规则的信息,请参阅 SQL Server 排序规则名称 (Transact-SQL)

下列主题更详细地解释了排序规则。

主题

说明

排序规则类型

解释 Windows 排序规则与 SQL Server 排序规则之间的差异。

选择排序规则

提供为字符数据选择排序规则的指导原则。

设置和更改排序规则

解释如何在服务器、数据库、列、表达式和标识符级别设置和更改字符数据的排序规则。

BACKUP 和 RESTORE 操作中的排序规则

提供在 BACKUP 和 RESTORE 操作中使用排序规则的指导原则。

排序规则和 SQL Server 客户端应用程序

提供有关将早期客户端应用程序连接到 SQL Server 2008 的信息。

获取有关排序规则的信息

解释如何在数据库和服务器上检索与排序规则相关的元数据。