グラフィック・ストリング
グラフィック・ストリング は、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 文節が使用されます。