# CHAR FOR BIT DATA データ型

CHAR FOR BIT DATA型により、決められた長さのバイトの並びを記録する事ができます。これは、文字列による記録が適切ではない構造化されていない情報を記録するに便利です。

#### 構文

    { CHAR | CHARACTER }[(長さ)] FOR BIT DATA

長さは符号のない整数のリテラルで、長さをバイトで指定します。

CHAR FOR BIT DATA型の既定の長さは1です。さらに最大の長さは254バイトです。

#### JDBC メタ情報型(java.sql.Types)

BINARY

CHAR FOR BIT DATAは固定長のバイト列を記録します。もし値が対象にて定義された長さより短いものであった場合、空きは0x20というバイト値でつめられます。

CHAR FOR BIT DATAとVARCHAR FOR BIT DATAの値は正確に比較されます。両方のビット列が等しいと評価されるためには、両方が実際に同じ長さでなければなりません。 (これは、他のDBMSにおけるバイナリの値の扱いとは違うのですが、これはSQL-92にて定義された振る舞いです。

VARCHAR FOR BIT DATAやCHAR FOR BIT DATAの値への操作(例えば連結など)はVARCHAR FOR BIT DATAに準じます。

    CREATE TABLE t (b CHAR(2) FOR BIT DATA);
    INSERT INTO t VALUES (X'DE');
    SELECT *
    FROM t;
    -- 次の出力が得られます。
    B
    -----
    de20

親トピック: データ型