Microsoft SQL Server 的排序规则和字符集 - Amazon Relational Database Service
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Microsoft SQL Server 的排序规则和字符集

SQL Server 支持多个级别的排序规则。您可以在创建数据库实例时设置默认服务器排序规则。您可以在数据库、表或列级别覆盖排序规则。

Microsoft SQL Server 的服务器级别排序规则

在创建 Microsoft SQL Server 数据库实例时,您可以设置所要使用的服务器排序规则。如果您未选择其他排序规则,则服务器级别排序规则默认为 SQL_Latin1_General_CP1_CI_AS。服务器排序规则默认应用到所有数据库和数据库对象。

注意

从数据库快照还原时,无法更改排序规则。

Amazon RDS 当前支持以下服务器排序规则:

排序规则 描述

Arabic_CI_AS

Arabic,不区分大小写,区分重音,不区分假名,不区分全半角

Chinese_PRC_BIN2

Chinese-PRC,二进制代码点排序顺序

Chinese_PRC_CI_AS

Chinese-PRC,不区分大小写,区分音调,不区分假名,不区分字宽

Danish_Norwegian_CI_AS

Danish-Norwegian,不区分大小写,区分音调,不区分假名,不区分字宽

Finnish_Swedish_CI_AS

芬兰语、瑞典语和瑞典语(芬兰)不区分大小写,区分音调,不区分假名,不区分字宽

French_CI_AS

French,不区分大小写,区分音调,不区分假名,不区分字宽

Hebrew_BIN

Hebrew,二进制排序

Hebrew_CI_AS

Hebrew,不区分大小写,区分音调,不区分假名,不区分字宽

Japanese_BIN

日语,二进制排序

Japanese_CI_AS

Japanese,不区分大小写,区分音调,不区分假名,不区分字宽

Japanese_CS_AS

Japanese,区分大小写,区分音调,不区分假名,不区分字宽

Japanese_XJIS_140_CI_AS

Japanese,不区分大小写,区分重音,不区分假名,不区分全半角,补充字符,不区分变体选择器

Japanese_XJIS_140_CI_AS_KS_VSS

Japanese,不区分大小写,区分重音,区分假名,不区分全半角,补充字符,区分变体选择器

Japanese_XJIS_140_CI_AS_VSS

Japanese,不区分大小写,区分重音,不区分假名,不区分全半角,补充字符,区分变体选择器

Japanese_XJIS_140_CS_AS_KS_WS

Japanese,区分大小写,区分重音,区分假名,区分全半角,补充字符,不区分变体选择器

Korean_Wansung_CI_AS

Korean_Wansung,不区分大小写,区分音调,不区分假名,不区分字宽

Latin1_General_100_BIN

Latin1-General-100,二进制排序

Latin1_General_100_BIN2

Latin1-General-100,二进制代码点排序顺序

Latin1_General_100_BIN2_UTF8

Latin1-General-100,二进制代码点排序顺序,UTF-8 编码

Latin1_General_100_CI_AS

Latin1-General-100,不区分大小写,区分音调,不区分假名,不区分字宽

Latin1_General_100_CI_AS_SC_UTF8

Latin1-General-100,不区分大小写,区分重音,补充字符,UTF-8 编码

Latin1_General_BIN

Latin1-General,二进制排序

Latin1_General_BIN2

Latin1-General,二进制代码点排序顺序

Latin1_General_CI_AI

Latin1_General,不区分大小写,不区分音调,不区分假名,不区分字宽

Latin1_General_CI_AS

Latin1_General,不区分大小写,区分音调,不区分假名,不区分字宽

Latin1_General_CI_AS_KS

Latin1_General,不区分大小写,区分音调,区分假名,不区分字宽

Latin1_General_CS_AS

Latin1-General,区分大小写,区分音调,不区分假名,不区分字宽

Modern_Spanish_CI_AS

Modern_Spanish,不区分大小写,区分音调,不区分假名,不区分字宽

Polish_CI_AS

Polish,不区分大小写,区分重音,不区分假名,不区分全半角

SQL_1xCompat_CP850_CI_AS

对于 Unicode 数据为 Latin1_General,不区分大小写,区分音调,不区分假名,不区分字宽,对于非 Unicode 数据,为代码页 850 上的 SQL Server 排序顺序 49

SQL_Latin1_General_CP1_CI_AI

对于 Unicode 数据为 Latin1_General,不区分大小写,不区分音调,不区分假名,不区分字宽;对于非 Unicode 数据,为代码页 1252 上的 SQL Server 排序顺序 54

SQL_Latin1_General_CP1_CI_AS(默认值)

对于 Unicode 数据为 Latin1_General,不区分大小写,区分音调,不区分假名,不区分字宽;对于非 Unicode 数据,为代码页 1252 上的 SQL Server 排序顺序 52

SQL_Latin1_General_CP1_CS_AS

对于 Unicode 数据为 Latin1_General,区分大小写,区分音调,不区分假名,不区分字宽;对于非 Unicode 数据,为代码页 1252 上的 SQL Server 排序顺序 51

SQL_Latin1_General_CP437_CI_AI

对于 Unicode 数据为 Latin1_General,不区分大小写,不区分音调,不区分假名,不区分字宽;对于非 Unicode 数据,为代码页 437 上的 SQL Server 排序顺序 34

SQL_Latin1_General_CP850_BIN

Latin1-General,对于 Unicode 数据为二进制排序顺序,对于非 Unicode 数据为代码页 850 上的 SQL Server 排序顺序 40

SQL_Latin1_General_CP850_BIN2

Latin1-General,对于 Unicode 数据为二进制代码点排序顺序,对于非 Unicode 数据为代码页 850 上的 SQL Server 排序顺序 40

SQL_Latin1_General_CP850_CI_AI

对于 Unicode 数据为 Latin1_General,不区分大小写,不区分音调,不区分假名,不区分字宽;对于非 Unicode 数据,为代码页 850 上的 SQL Server 排序顺序 44

SQL_Latin1_General_CP850_CI_AS

对于 Unicode 数据为 Latin1_General,不区分大小写,区分音调,不区分假名,不区分字宽,对于非 Unicode 数据,为代码页 850 上的 SQL Server 排序顺序 42

SQL_Latin1_General_CP1256_CI_AS

对于 Unicode 数据为 Latin1_General,不区分大小写,区分音调,不区分假名,不区分字宽;对于非 Unicode 数据,为代码页 1256 上的 SQL Server 排序顺序 146

Thai_CI_AS

Thai,不区分大小写,区分音调,不区分假名,不区分字宽

Turkish_CI_AS

Turkish,不区分大小写,区分重音,不区分假名,不区分全半角

选择排序规则:

  • 如果您使用 Amazon RDS 控制台,则在创建新的数据库实例时,请选择 Additional configuration(其他配置),然后在 Collation(排序规则)字段中输入排序规则。有关更多信息,请参阅创建 Amazon RDS 数据库实例

  • 如果使用 Amazon CLI,请在 --character-set-name 命令中使用 create-db-instance 选项。有关更多信息,请参阅 create-db-instance

  • 如果使用 Amazon RDS API,请在 CharacterSetName 操作中使用 CreateDBInstance 参数。有关更多信息,请参阅 CreateDBInstance

Microsoft SQL Server 的数据库级别排序规则

当创建新数据库或数据库对象时,您可以通过覆盖排序规则在数据库、表或列级别更改默认排序规则。例如,如果您的默认服务器排序规则为 SQL_Latin1_General_CP1_CI_AS,您可将其更改为 Mohawk_100_CI_AS 以支持 Mohawk 排序规则。如果需要,甚至可以对查询中的参数进行类型转换以便使用不同的排序规则。

例如,以下查询将 AccountName 列的默认排序规则更改为 Mohawk_100_CI_AS

CREATE TABLE [dbo].[Account] ( [AccountID] [nvarchar](10) NOT NULL, [AccountName] [nvarchar](100) COLLATE Mohawk_100_CI_AS NOT NULL ) ON [PRIMARY];

Microsoft SQL Server 数据库引擎通过内置 NCHAR、NVARCHAR 和 NTEXT 数据类型支持 Unicode。例如,如果您需要 CJK 支持,请对字符存储使用这些 Unicode 数据类型,并在创建数据库和表时覆盖默认的服务器排序规则。下面列出了一些由 Microsoft 提供的链接,其中包括 SQL Server 的排序规则和 Unicode 支持: