sql >> データベース >  >> RDS >> Sqlserver

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

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

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

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



    1. SQL Server * =オペレーター?

    2. Postgres9.1のDockerコンテナがポート5432をホストに公開していません

    3. ヒントと例で説明されたOracleCaseステートメント

    4. Oracleを使用したJPAでの悲観的なロックが機能しない理由