文字ストリング
文字ストリング は、一連のバイトです。ストリングの長さとは、そのストリングのバイト数を指します。長さがゼロの場合、 その値は空ストリング と呼ばれます。 この空ストリングと NULL 値を混同しないように注意してください。
固定長文字ストリング
固定長文字ストリングの特殊タイプ、列、および変数を定義するときには、長さ属性が指定され、すべての値が同じ長さになります。固定長文字ストリングの長さ属性の範囲は 1 から 32766 です。詳しくは、SQL の制約を参照してください。
可変長文字ストリング
可変長文字ストリングのタイプは以下のとおりです。
- VARCHAR
- CLOB
文字ラージ・オブジェクト (CLOB) 列は、大容量の文字データ (単一の文字セットを使用して作成された文書など) の格納に便利です。
特殊タイプ、列、変数には、いずれも長さ属性があります。可変長文字ストリングの特殊タイプ、列、および変数を定義するときには、最大長が指定され、これが長さ属性になります。実際の値は、これより小さな長さになる場合があります。可変長文字ストリングの長さ属性の範囲は 1 から 32 740 です。CLOB ストリングの場合、長さ属性の範囲は 1 から 2 147 483 647 まででなければなりません。詳しくは、SQL の制約を参照してください。
長い可変長ストリングを使用する際の制約事項については、 ストリングの使用に関する制限を参照してください。
文字ストリング変数
- 固定長文字ストリング変数は、REXX および Java™ を除くすべてのホスト言語で使用することができます。(C または C++ 言語では、固定長文字ストリング変数は、その長さが 1 に限定されます。)
- VARCHAR 可変長文字ストリング変数は、C、C++、COBOL、PL/I、REXX、および RPG
で使用することができます。
- PL/I、REXX、および ILE RPG では、可変長文字ストリングのデータ・タイプがあります。
- COBOL、C、および C++ では、可変長文字ストリングを構造体として表します。
- C および C++ では、可変長文字ストリング変数は、NUL 終了ストリングによって表すこともできます。
- RPG/400® では、可変長文字ストリング変数は、外部記述データ構造の結果として組み込まれる VARCHAR 列によってしか表すことができません。
- CLOB 可変長文字ストリング変数は、REXX、RPG/400、および COBOL/400 を除くすべてのホスト言語で定義することができます。
- ILE RPG では、CLOB 可変長文字ストリングは SQLTYPE キーワードを使用 して宣言されます。
- その他の言語ではすべて、SQL TYPE IS CLOB 文節が使用されます。