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

VARCHAR2(10 CHAR)とNVARCHAR2(10)の違い

    NVARCHAR2データ型は、データベースの残りの部分(VARCHAR2を使用)に別の文字セットを保持しながら、一部の列にUnicodeを使用するデータベース用にOracleによって導入されました。 NVARCHAR2はUnicodeのみのデータ型です。

    NVARCHAR2を使用する理由の1つは、DBが非Unicode文字セットを使用しているにもかかわらず、プライマリ文字セットを変更せずに一部の列のUnicodeデータを格納できるようにしたい場合です。もう1つの理由は、2つのUnicode文字セット(たとえば、主に西ヨーロッパからのデータにはAL32UTF8、主にアジアからのデータにはAL16UTF16)を使用することです。これは、異なる文字セットでは同じデータが同じように効率的に格納されないためです。

    例の両方の列(Unicode VARCHAR2(10 CHAR) およびNVARCHAR2(10) )同じデータを保存できますが、バイトストレージは異なります。一部の文字列は、どちらか一方に効率的に保存される場合があります。

    一部の機能はNVARCHAR2では機能しないことにも注意してください。このSOの質問を参照してください:

    • OracleTextはNVARCHAR2では機能しません。他に何が利用できない可能性がありますか?


    1. MySQLでMySQLの遅いクエリログを有効にする方法

    2. オンラインアップグレードの進捗状況

    3. SQLServer2019エディションについての考え

    4. 50以上の列名を入力せずに同じテーブルの行をコピーする(2つの列を変更する場合)