Unicode 専用の照合順序

Unicode 仕様では、世界中のビジネス界で広く使用されている大半の文字について、単一のエンコード体系が定められています。すべてのコンピュータでは、一貫してこの Unicode 仕様を使用して Unicode データのビット パターンが文字に変換されます。このため、同じビット パターンはどのコンピュータでも必ず同じ文字に変換されます。受信側のシステムでビット パターンが正しく文字に変換されるかどうかを気にせず、データベース間またはコンピュータ間でデータを自由に転送できます。

Unicode では、各文字のエンコードに 2 バイトが使用されます。2 バイトには 65,536 個のパターンがあるため、ビジネスで一般的に使用される言語のほとんどを 1 つの仕様で表現できます。システム全体で Unicode 型を使用することで、文字変換から生じる問題を最小限に抑えることができます。

COLLATE の使用

nchar、nvarchar、nvarchar(max) などの Unicode 専用のデータに指定された Unicode 専用の Windows 照合順序には、コード ページは関連付けられません。

SQL Server では次のデータ型が Unicode データをサポートします。

  • nchar

  • nvarchar

  • ntext

Unicode 専用の照合順序は、COLLATE 句で nchar、nvarchar、および ntext の各データ型を列レベルおよび式レベルのデータに適用する場合に使用できます。ただし、COLLATE 句でデータベースまたはサーバー インスタンスの照合順序を変更するために使用することはできません。

Unicode 専用の照合順序は、サーバー インストールとクライアント データベース アプリケーションとの間でデータを管理する場合に役立ちます。古いオペレーティング システムには、レガシ クライアント アプリケーションがインストールされていることがよくあります。このようなクライアント アプリケーションでは、新しいオペレーティング システムにインストールされている SQL Server データベースまたはサーバーに適用された新しい Windows 照合順序が認識されない可能性があります。Unicode 専用の照合順序が列レベルまたは式レベルの特定のサーバー データに適用されている場合、クライアントは受信データを不適切なコード ページにマップしようとしないため、クライアントにインポートされたデータの文字整合性が保たれます。