可変長文字列

VARCHAR と LONGVARCHAR は SQLの最大長が可変である文字列データ型です。

ホスト変数形式

OpenESQL および DB2 ECM
01 varchar1.
   49 varchar1-len        PIC 9(4) COMP.
   49 varchar1-data       PIC X(200).
01 longvarchar1.
   49 longvarchar1-len    PIC 9(4) COMP.
   49 longvarchar1-data   PIC X(30000).
01 clob1                  SQL TYPE IS CLOB(32K).
  • レベル-49 の基本項目 2 つのみを含む集団項目。最初の項目は、2 バイトのフィールドで有効な文字列の長さを示す COMP または COMP-5 の用途で宣言します。もう 1 つの項目は PIC X(n) データ形式で宣言し、実際のデータを格納します。n は、整数です。
  • SQL 文では、集団項目名を参照する必要があります。
  • SQL の CHAR、VARCHAR、または LONG BARCHAR データ型にコピーされたデータが、これらのデータ型に定義された長さを超える場合には、データが切り捨てられ、SQLCA データ構造体の SQLWARN1 フラグが設定されます。また、定義されたデータ長より短い文字列には、受け取った CHAR データ型に空白文字が付加されます。
  • clob1 の形式は CLOB SQL TYPE を使用します。
OpenESQL
OpenESQL および DB2 ECM で利用可能なホスト変数定義に加えて、次の定義も OpenESQL では利用可能です。
01 varchar2  PIC X(20) VARYING.
01 varchar3  SQL TYPE IS CHAR-VARYING(200).
01 longvarchar1 SQL TYPE IS LONG-VARCHAR(50000).
  • varchar3 の形式は CHAR-VARYING SQL TYPE を使用します。
  • longvarchar1 の形式は LONG-VARCHAR SQL TYPE を使用します。
OpenESQL JVM マネージランタイム
OpenESQLで利用可能なホスト変数定義に加えて、次の定義も OpenESQL JVM マネージランタイムでは利用可能です。
01 varchar6           string.