Data types for items: The following table shows, the SQL data type for each descriptor item. When a descriptor item is assigned to a variable, the variable must be compatible with the data type of the diagnostic item.
Item Name | Data Type |
---|---|
Header Information | |
COUNT | INTEGER |
DYNAMIC_FUNCTION | VARCHAR(128) |
DYNAMIC_FUNCTION_CODE | INTEGER |
KEY_TYPE | INTEGER |
DB2_MAX_ITEMS | INTEGER |
Item Information | |
DATA | Matches the data type specified by TYPE |
DATETIME_INTERVAL_CODE | INTEGER |
DB2_BASE_CATALOG_NAME | VARCHAR(128) |
DB2_BASE_COLUMN_NAME | VARCHAR(128) |
DB2_BASE_SCHEMA_NAME | VARCHAR(128) |
DB2_BASE_TABLE_NAME | VARCHAR(128) |
DB2_CCSID | INTEGER |
DB2_COLUMN_CATALOG_NAME | VARCHAR(128) |
DB2_COLUMN_GENERATED | INTEGER |
DB2_COLUMN_GENERATION_TYPE | INTEGER |
DB2_COLUMN_NAME | VARCHAR(128) |
DB2_COLUMN_SCHEMA_NAME | VARCHAR(128) |
DB2_COLUMN_TABLE_NAME | VARCHAR(128) |
DB2_COLUMN_UPDATABILITY | INTEGER |
DB2_CORRELATION_NAME | VARCHAR(128) |
DB2_LABEL | VARCHAR(60) |
DB2_PARAMETER_NAME | VARCHAR(128) |
DB2_SYSTEM_COLUMN_NAME | CHAR(10) |
INDICATOR | INTEGER |
KEY_MEMBER | INTEGER |
LENGTH | INTEGER |
LEVEL | INTEGER |
NAME | VARCHAR(128) |
NULLABLE | INTEGER |
OCTET_LENGTH | INTEGER |
PARAMETER_MODE | INTEGER |
PARAMETER_ORDINAL_POSITION | INTEGER |
PARAMETER_SPECIFIC_CATALOG | VARCHAR(128) |
PARAMETER_SPECIFIC_NAME | VARCHAR(128) |
PARAMETER_SPECIFIC_SCHEMA | VARCHAR(128) |
PRECISION | INTEGER |
RETURNED_LENGTH | INTEGER |
RETURNED_OCTET_LENGTH | INTEGER |
SCALE | INTEGER |
TYPE | INTEGER |
UNNAMED | INTEGER |
USER_DEFINED_TYPE_CATALOG | VARCHAR(128) |
USER_DEFINED_TYPE_NAME | VARCHAR(128) |
USER_DEFINED_TYPE_SCHEMA | VARCHAR(128) |
USER_DEFINED_TYPE_CODE | VARCHAR(128) |
SQL data type codes and lengths: The following table represents the possible values for TYPE, LENGTH, OCTET_LENGTH, and DATETIME_INTERVAL_CODE descriptor items.
The values in the following table are assigned by the ISO and ANSI SQL Standard and may change as the standard evolves. Include sqlscds in the include source files in library QSYSINC should be used when referencing these values.
Data Type | Data Type Code | Length | Octet Length |
---|---|---|---|
BIGINT | 25 | 8 | 8 |
BLOB(n) | 30 | n | n |
CHARACTER(n) | 1 | n | n |
VARCHAR(n) | 12 | <=n | n |
CLOB(n) | 40 | <=n | n |
DATALINK(n) | 70 | <=n | n |
DATE (DATETIME_INTERVAL_CODE = 1) | 9 | Length depends on date format | Based on CCSID |
TIME (DATETIME_INTERVAL_CODE = 2) | 9 | Length depends on time format | Based on CCSID |
TIMESTAMP (DATETIME_INTERVAL_CODE = 3) | 9 | 26 | 26 or 52 (based on CCSID) |
DBCLOB(n) | -350 | <=n | 2*n |
BINARY(n) | -2 | n | n |
VARBINARY(n) | -3 | <=n | n |
DECIMAL | 3 | (precision/2)+1 | (precision/2)+1 |
DOUBLE PRECISION | 8 | 8 | 8 |
FLOAT | 6 | 8 | 8 |
GRAPHIC(n) | -95 | n | 2*n |
INTEGER | 4 | 4 | 4 |
NUMERIC(n) | 2 | n | n |
ZONED DECIMAL(n) | 2 | n | n |
REAL | 7 | 4 | 4 |
ROWID | -904 | 40 | 40 |
SMALLINT | 5 | 2 | 2 |
VARGRAPHIC(n) | -96 | <=n | 2*n |
C nul terminated GRAPHIC(n) | -400(R) | <=n | 2*n |
C nul terminated CHARACTER(n) | 1 | <=n | n |
BLOB File Reference Variable | -916 | 267 | 267 |
CLOB File Reference Variable | -920 | 267 | 267 |
DBCLOB File Reference Variable | -924 | 267 | 267 |
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.