2 進ストリング

2 進ストリング は、一連のバイトです。テキスト・データが通常含まれている文字ストリングとは異なり、2 進ストリングは、ピクチャーのような従来とは異なるデータの保持に使用されます。2 進ストリングの長さとは、 そのストリングのバイト数を指します。2 進ストリングは、65535 の CCSID を持っています。2 進ストリングとの互換性があるのは、文字ストリング FOR BIT DATA のみです。

固定長 2 進ストリング

固定長バイナリー・ストリングの特殊タイプ、列、および変数を定義するときには、長さ属性が指定され、すべての値が同じ長さになります。固定長バイナリー・ストリングの長さ属性の範囲は 1 から 32 766 です。詳しくは、SQL の制約を参照してください。

可変長 2 進ストリング

可変長 2 進ストリングのタイプは以下のとおりです。

  • VARBINARY
  • BLOB

バイナリー・ラージ・オブジェクト (BLOB) 列は、文字以外のデータ (画像、音声、混合メディアなど) を大量に格納するために使用できます。もう 1 つの用途は、特殊タイプおよびユーザー定義関数によって使用される構造化データの保管です。

特殊タイプ、列、変数には、いずれも長さ属性があります。可変長バイナリー・ストリングの特殊タイプ、列、および変数を定義するときには、最大長が指定され、これが長さ属性になります。実際の値は、これより小さな長さになる場合があります。可変長バイナリー・ストリングの長さ属性の範囲は 1 から 32 740 バイトです。BLOB ストリングの長さ属性は、1 から 2 147 483 647 までの範囲でなければなりません。詳しくは、SQL の制約を参照してください。

2 進ストリング変数

2 進ストリング・タイプを持つ変数は、REXX、RPG/400®、および COBOL/400 を除くすべてのホスト言語で定義することができます。

  • BINARY 固定長 2 進ストリング変数は、REXX、RPG/400、および COBOL/400 を除 くすべてのホスト言語で定義することができます。
    • ILE RPG では、BINARY 固定長 2 進ストリング変数は SQLTYPE キーワードを使用 して宣言されます。
    • その他の言語ではすべて、SQL TYPE IS BINARY 文節が使用されます。
  • VARBINARY 可変長 2 進ストリング変数は、REXX、RPG/400、および COBOL/400 を 除くすべてのホスト言語で定義することができます。
    • ILE RPG では、VARBINARY 可変長 2 進ストリング変数は SQLTYPE キーワードを使用 して宣言されます。
    • その他の言語ではすべて、SQL TYPE IS VARBINARY 文節が使用されます。
  • BLOB 可変長 2 進ストリング変数は、REXX、RPG/400、および COBOL/400 を除くすべてのホスト言語で定義することができます。
    • ILE RPG では、BLOB 可変長 2 進ストリング変数は SQLTYPE キーワードを使用 して宣言されます。
    • その他の言語ではすべて、SQL TYPE IS BLOB 文節が使用されます。