1

Selecting a SQL Server Collat​​ionというタイトルの記事を見直して、どちらをデータベースに使用するかを決めようとしていたところ、同じように見える 2 つの照合順序があることに気付きました。ページに記載されていない、これら 2 つの違いのようなものはありますか?

SQL_Latin1_General_Cp437_CI_AS_KI_WI

SQL ソート順 ID = 32
ソート順名 = nocase.437
説明 = 辞書順、大文字と小文字を区別しない

SQL_Latin1_General_Cp850_CI_AS_KI_WI

SQL ソート順 ID = 42
ソート順名 = nocase.850
説明 = 辞書順、大文字と小文字を区別しない

4

1 に答える 1

3

との数字はコード ページCp437Cp850参照しており、間違ったコード ページを使用すると、奇妙な結果が生じる可能性があります。のような標準の照合を使用することを強くお勧めしますSQL_Latin1_General_CP1_CI_AS(または_AIアクセントを区別しないため)。ただし、照合を選択するのは難しい作業です。多くの Unicode データがある場合、SQL 照合を使用するとパフォーマンスの問題が発生する可能性があります (報告されているように)。インデックスがフィールド内の Unicode 文字をカバーしないnvarcharか、Unicode データと非 Unicode データが混在している場合に異常な並べ替え順序が発生する可能性があるためです。詳細については、照合タイプを参照してください。

上記の SQL Server の既定値をそのまま使用するか、慎重に選択して Windows 照合順序を使用することをお勧めします。実際には英語 (米国) がデフォルトであることに気付くでしょう。その照合順序が Unicode をサポートする照合順序になったかどうかはわかりません。

調べるべき他のページは、コードページとその歴史を説明しているASCIIと拡張 ASCIIに関するウィキペディアの記事です。

于 2013-07-19T23:02:00.117 に答える