nvarchar
列には任意のUnicodeデータを格納できます。 varchar
列は8ビットのコードページに制限されています。 varchar
だと思う人もいます 占有するスペースが少ないため、使用する必要があります。これは正解ではないと思います。コードページの非互換性は苦痛であり、Unicodeはコードページの問題の解決策です。最近の安価なディスクとメモリにより、コードページをいじくり回す時間を無駄にする理由はもうありません。
最新のオペレーティングシステムと開発プラットフォームはすべて、内部でUnicodeを使用しています。 nvarchar
を使用する varchar
ではなく 、データベースからの読み取りまたはデータベースへの書き込みのたびにエンコード変換を行うことを回避できます。変換には時間がかかり、エラーが発生しやすくなります。そして、変換エラーからの回復は重要な問題です。
ASCIIのみを使用するアプリケーションとインターフェイスする場合でも、データベースでUnicodeを使用することをお勧めします。 OSとデータベースの照合アルゴリズムはUnicodeでより適切に機能します。 Unicodeは、 otherとのインターフェース時に変換の問題を回避します システム。そして、あなたは将来に備えます。また、完全なUnicodeストレージの利点の一部を享受しながらも、維持する必要のあるレガシーシステムのデータが7ビットASCIIに制限されていることをいつでも検証できます。