Notes

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.

Table 56. Data Types for GET DESCRIPTOR Items
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.

Table 57. SQL Data Type Codes and Lengths
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