照合順序はどれを使ったら良い?
マイクロソフトの Coast です。
先日、PASSJ (SQL Server ユーザーグループ) https://www.sqlpassj.org/ 様より、1月から2月かけて実施された、「SQL Server 製品機能に関するアンケート」の集計結果をいただきました。その中で、約30%の方から、「照合順序の違いやどれを使えばよいかがよくわからない。」というご回答をいただきました。
SQL Server の BOL には、照合順序に関する説明があるのですが、日本語以外の各言語の照合順序 も含めた説明になっているため、「日本語ではどうしたらいいか」という日本のユーザーに必要な情報が読み取りづらくなっています。そのために、約30%の方が「よくわからない」とお感じになっているのかもしれません。
非常に簡潔に説明しますと、照合順序は、その SQL Server の最新のものをお使いいただくことがお勧めになります。
つまり、
SQL Server 2000 では、Japanese
SQL Server 2005 では、Japanese_90
がお勧めになります。
注意: SQL Server 2005 でも、SQL Server 2000 で開発されたアプリケーションをそのまま使用する場合や、他の SQL Server 2000 と接続する場合などには、Japanese を使う必要がある場合もあります。
紛らわしい照合順序に Japanese_UNICODE がありますが、これは、SQL Server 7.0 との互換性確保のために残っている照合順序です。また、Windows 2000 以降の OS での LCID との整合性の注意 https://support.microsoft.com/kb/302747/ja もありますので、SQL Server 7.0 との互換性のために必要でない限りは、お使いにならないようをお勧めします。
それぞれの照合順序の違いに関しては、その照合順序が開発された当時の、JIS や Unicode などの文字標準規格との関係を意識すると理解しやすくなります。この点に関しては、公開されている 「SQL Server の JIS2004 対応に関するガイドライン 」 というホワイトペーパーの「1.4 JIS、Unicode と Windows の歴史とその関係」 に説明があります。
「SQL Server の JIS2004 対応に関するガイドライン 」 は、このリンクからダウンロードしていただけます。https://go.microsoft.com/?linkid=6302906 (ZIP 自己解凍 EXE 3.44MB)
コミュニティにおけるマイクロソフト社員による発言やコメントは、マイクロソフトの正式な見解またはコメントではありません。