|
| < 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 > |
|