デフォルトでは、SQL Serverデータベースの各列は、データベースレベルで指定された照合を使用します。また、デフォルトでは、データベースの照合はサーバーの照合から取得されます。ただし、これらの照合設定は、データベースレベルと列レベルの両方で、そのレベルで照合を明示的に設定することで上書きできます。
このページでは、列の照合を指定する方法を示します。 T-SQLのCOLLATEを追加することで、照合を設定できます CREATE TABLEの句 およびALTER TABLE ステートメント。これらのステートメントを使用するときは、照合設定を含む列とそのプロパティを定義します。 COLLATE 句はオプションであるため、これを含めない場合、列はデータベースのデフォルトの照合を使用するだけです。
照合を設定する
テーブルを作成するときに照合を指定する例を次に示します。
CREATE TABLE Tasks (
TaskId int IDENTITY(1,1) NOT NULL PRIMARY KEY,
TaskName nvarchar(255) COLLATE French_CI_AI NOT NULL
);
これにより、Tasksというテーブルが作成されます 2列あり。 2番目の列(TaskName)の照合を設定します )to French_CI_AI 。そうしなかった場合は、デフォルトのデータベース照合を使用していました。
照合を変更する
この次の例では、列の照合をModern_Spanish_CI_AI_WSに変更します。 :
ALTER TABLE Tasks ALTER COLUMN TaskName
nvarchar(255) COLLATE Modern_Spanish_CI_AI_WS NOT NULL
GO
次のいずれかによって参照される列の照合を変更できないことに注意してください。
- 計算列
- インデックス
- 分布統計
-
CHECK制約 -
FOREIGN KEY制約
照合を確認する
SSMSを使用している場合は、オブジェクトブラウザでその列を右クリックし、[Propertiesを選択することで、任意の列の照合を確認できます。 。
Transact-SQLでは、列の照合を返す方法がいくつかあります。 T-SQLを使用して列の照合を確認する方法は次のとおりです。