varchar と nvarchar の違いは何ですか? 質問する

varchar と nvarchar の違いは何ですか? 質問する

マルチバイト文字をサポートしているのは だけですかnvarchar? そうであれば、ストレージの問題以外に を使用する意味は本当にあるのでしょうかvarchars?

ベストアンサー1

nvarcharには、任意の Unicode データを格納できます。varchar列は 8 ビット コード ページに制限されます。varcharスペースをあまり取らないので、8 ビット コード ページを使用するべきだと考える人もいます。私は、これは正しい答えではないと思います。コード ページの非互換性は厄介な問題であり、Unicode はコード ページの問題を解決するものです。最近のディスクとメモリは安価であるため、コード ページをいじくり回して時間を無駄にする理由はもうありません。

nvarchar最新のオペレーティング システムと開発プラットフォームはすべて、内部的に Unicode を使用しています。ではなく を使用するとvarchar、データベースの読み取りまたは書き込みのたびにエンコード変換を行う必要がなくなります。変換には時間がかかり、エラーが発生しやすくなります。また、変換エラーからの回復は簡単な問題ではありません。

ASCII のみを使用するアプリケーションとインターフェイスする場合でも、データベースでは Unicode を使用することをお勧めします。OS とデータベースの照合アルゴリズムは Unicode を使用するとより適切に機能します。Unicode を使用すると、他のシステムとインターフェイスするときに変換の問題を回避できます。また、将来に備えることもできます。また、完全な Unicode ストレージの利点を享受しながらも、保守する必要があるレガシー システムのデータが 7 ビット ASCII に制限されていることを常に検証できます。

おすすめ記事