グラフィック・ストリング

グラフィック・ストリング は、2 バイト文字のシーケンスです。 このストリングの長さは、その文字の数になります。文字ストリングと同様に、グラフィック・ストリングも空でも構いません。

固定長グラフィック・ストリング

固定長グラフィック・ストリングの特殊タイプ、列、変数を定義するときには、長さ属性を指定します。すべての値は同じ長さになります。 固定長グラフィック・ストリングの長さ属性は、1 から 16 383 の範囲でなければなりません。詳しくは、SQL の制約を参照してください。

可変長 GRAPHIC ストリング

  • 可変長グラフィック・ストリングのタイプは以下のとおりです。
  • VARGRAPHIC
  • DBCLOB

2 バイト文字ラージ・オブジェクト (DBCLOB) 列は、2 バイト文字データ (2 バイト文字セットで記述した文書など) を大量に格納するために使用できます。

特殊タイプ、列、変数には、いずれも長さ属性があります。可変長グラフィック・ストリングの特殊タイプ、列、変数を定義するときには、最大長を指定します。その最大長が長さ属性になります。 実際の値は、これより小さな長さになる場合があります。可変長グラフィック・ストリングの長さ属性は、1 から 16 370 の範囲でなければなりません。 DBCLOB ストリングの長さ属性は、1 から 1 073 741 823 の範囲でなければなりません。詳しくは、SQL の制約を参照してください。

長い可変長ストリングを使用する際の制約事項については、 ストリングの使用に関する制限を参照してください。

グラフィック・ストリング変数

  • 固定長グラフィック・ストリング変数は、C、C++、ILE COBOL、および ILE RPG で定義することができます。 (C および C++ では、固定長グラフィック・ストリング変数の長さは、1 に限定されます。)

    固定長グラフィック・ストリングの変数は、PL/I、COBOL/400、および RPG/400® では定義できませんが、文字ストリングの変数がファイルの外部定義の GRAPHIC 列からソースに生成された場合は、その文字ストリングの変数は、固定長グラフィック・ストリングの変数と同様に扱われます。

  • VARGRAPHIC 可変長グラフィック・ストリング変数は、C、C++、ILE COBOL、REXX、および ILE RPG で定義することができます。
    • REXX および ILE RPG には、可変長グラフィック・ストリングのデータ・タイプがあります。
    • C、C++、および ILE COBOL では、可変長グラフィック・ストリングは構造体として表されます。
    • C および C++ では、可変長グラフィック・ストリング変数は、NUL 終了グラフィック・ストリングによって表すこともできます。
    • 可変長グラフィック・ストリングの変数は、PL/I、COBOL/400、および RPG/400 では定義できませんが、文字ストリングの変数がファイルの外部記述の VARGRAPHIC 列からソースに生成された場合は、その文字ストリングの変数は可変長グラフィック・ストリングの変数と同様に扱われます。
  • DBCLOB 可変長文字ストリング変数は、REXX、RPG/400、および COBOL/400 を除くすべてのホスト言語で定義することができます。
    • ILE RPG では、DBCLOB 可変長文字ストリングは SQLTYPE キーワードを使用 して宣言されます。
    • その他の言語ではすべて、SQL TYPE IS DBCLOB 文節が使用されます。