次のスクリプトを考えてみましょう。2 番目の INSERT ステートメントは主キー違反をスローします。
BEGIN TRAN
CREATE TABLE UnicodeQuestion
(
UnicodeCol NVARCHAR(100)
COLLATE Latin1_General_CI_AI
)
CREATE UNIQUE INDEX UX_UnicodeCol
ON UnicodeQuestion ( UnicodeCol )
INSERT INTO UnicodeQuestion (UnicodeCol) VALUES (N'ae')
INSERT INTO UnicodeQuestion (UnicodeCol) VALUES (N'æ')
ROLLBACK
私が理解しているように、インデックスにこれらの値を個別に処理させたい場合は、バイナリ照合を使用する必要があります。しかし、多くのバイナリ照合順序があり、それらの名前には個々の文化が含まれています! 文化に敏感な扱いはしたくない...
任意の Unicode データを nvarchar 列に格納する場合、どの照合順序を使用する必要がありますか?