概要:このチュートリアルでは、Oracle VARCHAR2 データ型について学び、それを使用して可変長文字列カラムを定義する方法を学びます。
Introduction to Oracle VARCHAR2 data type
可変長文字列を保存するには Oracle VARCHAR2 データ型が使われます。 VARCHAR2 カラムは 1 バイトから 4000 バイトまでの値を格納することができます。
VARCHAR2 カラムを持つテーブルを作成する場合、最大文字列長をバイト数で指定する必要があります。 言い換えれば、VARCHAR2(N) カラムは最大 N バイトの文字を保持することができる。
もし VARCHAR2 カラムの最大サイズを超える文字列を格納すると、Oracle はエラーを発生させる。 シングルバイト文字セットでは、最大20文字まで保存できます。 21文字以上格納すると、Oracleはエラーを返す。
さらに、VARCHAR2(20)カラムに10文字を格納すると、Oracleは20バイトではなく、10バイトだけを格納に使用する。
VARCHAR2データ型を使用すると、テーブルで使用するスペースを節約できます。
Oracle VARCHAR2 max length
Oracle Database 12c から、VARCHAR2データ型に最大サイズ 32767 を指定することができます。 Oracle は最大サイズを制御するために MAX_STRING_SIZE パラメータを使用します。 MAX_STRING_SIZE が STANDARD である場合、VARCHAR2 の最大サイズは 4000 バイトです。 MAX_STRING_SIZE が EXTENDED の場合、VARCHAR2 のサイズ制限は 32767 です。
MAX_STRING_SIZE パラメーターの値を取得するには、次のクエリーを使用します:

または次の文を使用します:
Oracle VARCHAR2 examples
次の文は、社員の緊急連絡を保存する econtacts という新しい表を作成します:
econtacts テーブルには VARCHAR2 列が 3 つあります。 first_name, last_name, phone.
次のステートメントは、econtactsテーブルに新しい行を挿入します:
入力データがVARCHAR2列の最大サイズを超えていないため、期待どおりに動作しました。
しかし、次のステートメントは挿入に失敗します:
入力されたファーストネームがfirst_name列の最大長を超えているため、Oracleは次のエラーを発行しました:
このチュートリアルでは、Oracle VARCHAR2 と VARCHAR2 データ型を使用してテーブル内の可変長文字列列を定義する方法について学習してきました。
- このチュートリアルは役に立ちましたか?
- YesNo