可変長文字列

可変長文字列 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).
  • 2 つの基本項目のみを含むグループ項目のレベル番号は 49 にする必要があります。最初の項目は 2 バイトのフィールドで、文字列の有効な長さを表す COMP または COMP-5 の用途で宣言します。長さを表すフィールドは、符号付きまたは符号なしのどちらでも構いません。2 番目の項目は 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 Managed Runtime
OpenESQL で有効な定義の他に、次の定義も OpenESQL JVM Managed Runtime で有効です。
01 varchar6           string.