| < Day Day Up > |
|
Table 9-5 provides a complete list of SQL data types, C/C++ data type mapping, and a quick description of each. Note that DB2 UDB has multiple definitions for DATE and multiple types for NUMBER.
SQL data type sqltype | C/C++ type | sqllen | Description | |
---|---|---|---|---|
integer | SMALLINT (500 or 501) | short | 2 |
|
INTEGER INT (496 or 497) | long | 4 |
| |
BIGINT (492 or 493) | long | 8 |
| |
floating point | REAL FLOAT (480 or 481) | float |
| |
DOUBLE (480 or 481) DOUBLE PRECISION | double | 8 |
| |
decimal | DECIMAL(p,s) DEC(p,s) (484 or 485) NUMERIC(p,s) NUM(p,s) | double / decimal | p/2+1 |
|
date / time | DATE (384 or 385) |
struct { short len; char data[10]; } dt; char dt[11]; | 10 |
|
TIME (388 or 389) | char | 8 |
| |
TIMESTAMP | char | 26 |
| |
character | CHAR (452 or 453) | char | n |
|
VARCHAR (460 or 461) | char | n |
| |
VARCHAR (448 or 449) |
struct { short len; char data[n ]; } | len |
| |
LONG VARCHAR (456 or 457) |
struct { short len; char data[n ]; } | len |
| |
CLOB(n) (408 or 409) | clob | n |
| |
CLOB (964 or 965) | clob_locator |
| ||
CLOB (808 or 809) | clob_file |
| ||
binary | BLOB(n) (404 or 405) | blob | n |
|
BLOB (960 or 961) | blob_locator |
| ||
BLOB (804 or 805) | blob_file |
| ||
double- byte | GRAPHIC(1) GRAPHIC(n) (468 or 469) | sqldbchar | 24 |
|
VARGRAPHIC( n) (464 or 465) |
struct { short int; sqldbchar[n ] } tag; alternately: sqldbchar[n+ 1] | n*2+ 4 |
| |
LONG VARGRAPHIC( n) (472 or 473) |
struct { short int; sqldbchar[n ] } tag; |
| ||
DBCLOB(n) (412 or 413) | dbclob |
| ||
DBCLOB | dbclob_locat or |
| ||
DBCLOB | dbclob_file |
| ||
external data | Datalink(n) | n+54 |
|
For more information, see the SQL Referencevol 1, SC09-4844; vol 2 - SC09-4845, the Application Development Guide, and the file that is supplied on DB2 clients: sqllib\include\sql.h
| < Day Day Up > |
|