文字ストリング

文字ストリング は、一連のバイトです。ストリングの長さとは、そのストリングのバイト数を指します。長さがゼロの場合、 その値は空ストリング と呼ばれます。 この空ストリングと 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 文節が使用されます。