Microsoft SQL Server の照合順序と文字セット
SQL Server は、複数のレベルで照合をサポートします。DB インスタンスを作成するときに、デフォルトのサーバー照合を設定します。照合は、データベース、テーブル、または列レベルでオーバーライドできます。
Microsoft SQL Server のサーバーレベルの照合
Microsoft SQL Server DB インスタンスを作成するときに、使用するサーバーの照合順序を設定できます。別の照合を選択しない場合、サーバーレベルの照合はデフォルトでSQL_Latin1_General_CP1_CI_AS になります。サーバー照合は、デフォルトですべてのデータベースとデータベースオブジェクトに適用されます。
DB スナップショットから復元する場合は、照合順序を変更できません。
Amazon RDS は現在、以下のサーバー照合をサポートしています。
照合 | 説明 |
---|---|
Chinese_PRC_CI_AS |
中国語 - 中華人民共和国、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Chinese_Taiwan_Stroke_CI_AS |
繁体字中国語 (台湾)、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Finnish_Swedish_CI_AS |
フィンランド語、スウェーデン語、およびスウェーデン語 (フィンランド)、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
French_CI_AS |
フランス語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Hebrew_BIN |
ヘブライ語、バイナリソート |
Hebrew_CI_AS |
ヘブライ語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Japanese_BIN |
日本語、バイナリソート |
Japanese_CI_AS |
日本語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Japanese_CS_AS |
日本語、大文字と小文字の区別あり、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Korean_Wansung_CI_AS |
韓国語 (Wansung)、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
Latin1_General_100_BIN |
Latin1-General-100、バイナリソート |
Latin1_General_100_BIN2 |
Latin1-General-100、バイナリコードポイント比較ソート |
Latin1_General_100_CI_AS |
Latin1-General-100、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
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 |
現代スペイン語、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし |
SQL_1xCompat_CP850_CI_AS |
Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 850 の SQL Server ソート順 49 (非 Unicode データの場合) |
SQL_Latin1_General_CP1_CI_AI |
Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1252 の SQL Server ソート順 54 (非 Unicode データの場合) |
SQL_Latin1_General_CP1_CI_AS (デフォルト) |
Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1252 の SQL Server ソート順 52 (非 Unicode データの場合) |
SQL_Latin1_General_CP1_CS_AS |
Latin1-General、大文字と小文字の区別あり、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1252 の SQL Server ソート順 51 (非 Unicode データの場合) |
SQL_Latin1_General_CP437_CI_AI |
Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別なし、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 437 の SQL Server ソート順 34 (非 Unicode データの場合) |
SQL_Latin1_General_CP850_BIN2 |
Latin1-General、バイナリコードポイント比較ソート (Unicode データの場合)、コードページ 850 の SQL Server ソート順 40 (非 Unicode データの場合) |
SQL_Latin1_General_CP850_CI_AS |
Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 850 の SQL Server ソート順 42 (非 Unicode データの場合) |
SQL_Latin1_General_CP1256_CI_AS |
Latin1-General、大文字と小文字の区別なし、アクセント (濁音、破裂音) の区別あり、ひらがな片仮名の区別なし、全角半角の区別なし (Unicode データの場合)、コードページ 1256 の SQL Server ソート順 146 (非 Unicode データの場合) |
照合を選択
-
Amazon RDS のコンソールを使用している場合で新しい DB インスタンスを作成する際は、[Additional configuration (追加設定) ] を選択し、[Database options (データベースの設定) ] の [Collation (照合) ] メニューから照合を選択します。詳細については、「Amazon RDS DB インスタンスの作成」を参照してください。
-
AWS 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 照合に対応できるように、これを Mohawk_100_CI_AS に変更することができます。クエリの引数も、必要に応じて他の照合順序を使用するために型変換できます。
例えば、次のクエリは、AccountName 列のデフォルト照合順序を Japanese_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 DB エンジンは、組み込みの NCHAR、NVARCHAR、および NTEXT データ型で Unicode をサポートします。例えば、CJK サポートが必要な場合は、データベースとテーブルを作成するときに、文字列ストレージに対してこれらの Unicode データ型を使用して、デフォルトサーバー照合順序を上書きします。以下のリンクから、SQL Server に対する照合順序と Unicode のサポートに関連する Microsoft の情報を参照できます。