DB2 10.5 for Linux, UNIX, and Windows

データ・タイプ長 (CLI) 表

DB2 CLI アプリケーションでは、データ・タイプの長さによって列のサイズが決まります。 列の長さとは、データがデフォルトの C データ・タイプに移されるときにアプリケーションに返される最大バイト数のことです。 文字データの場合、長さにはヌル終了バイトは含まれません。

DB2 CLI アプリケーションでのデータ・タイプの長さを定義できます。 列の長さは、 データ・ソースにデータを保管するのに必要なバイト数とは違う場合があることに注意してください。 次の表は、各 SQL データ・タイプの長さを定義しています。

表 1. 長さ

fSqlType

長さ

SQL_CHAR
SQL_VARCHAR
SQL_CLOB

列の定義された長さ。 例えば、CHAR(10) と定義された列の長さは 10 です。

SQL_LONGVARCHAR

列の最大長。

SQL_DECIMAL
SQL_NUMERIC

最大桁数に 2 を加えた値。 このデータ・タイプは文字ストリングとして戻されるので、 桁数、符号、および小数点の文字が必要です。 例えば、NUMERIC(10,3) と定義された列の長さは 12 です。
SQL_DECFLOAT 列が DECFLOAT(16) として定義されている場合、長さは 8 です。 列が DECFLOAT(34) として定義されている場合、長さは 16 です。

SQL_SMALLINT

2 (2 バイト)。
SQL_INTEGER

4 (4 バイト)。

SQL_BIGINT

8 (8 バイト)。

SQL_REAL

4 (4 バイト)。

SQL_FLOAT

8 (8 バイト)。

SQL_DOUBLE

8 (8 バイト)。

SQL_BINARY
SQL_VARBINARY
SQL_BLOB

列の定義された長さ。 例えば、CHAR(10) FOR BIT DATA と定義された列の長さは 10 です。

SQL_LONGVARBINARY

列の最大長。

SQL_TYPE_DATE
SQL_TYPE_TIME

6 (DATE_STRUCT または TIME_STRUCT 構造のサイズ)。

SQL_TYPE_TIMESTAMP

16 (TIMESTAMP_STRUCT 構造のサイズ)。

SQL_GRAPHIC
SQL_VARGRAPHIC
SQL_DBCLOB

列の定義された長さの 2 倍。例えば、GRAPHIC(10) と定義された列の長さは 20 です。

SQL_LONGVARGRAPHIC

列の最大長の 2 倍。

SQL_WCHAR
SQL_WVARCHAR
SQL_WLONGVARCHAR

列の定義された長さの 2 倍。 例えば、WCHAR(10) と定義された列の長さは 20 です。

SQL_XML

0 (ただし、保管される XML 文書のサイズは 2GB に制限されています)。