GBase 8s ESQL/C中使用的数据类型:
使用ESQL/C程序访问数据库中的列时,必须声明一个合适的宿主变量(host variable),可以是c语言或ESQL/C的数据类型,来接收数据。
SQL与宿主变量的数据类型对应关系
SQL数据类型 | ESQL/C预定义的数据类型 | C语言类型 |
BIGINT | BIGINT | 8-byte integer |
BIGSERIAL | BIGINT | 8-byte integer |
BOOLEAN | boolean | |
BYTE | Ifx_loc_t 或者 loc_t | |
CHAR(n) CHARACTER(n) | fixchar[n]或者string[n+1] | char[n+1]或者char* |
DATE | date | 4-byte integer |
DATETIME | datetime或者 dtime_t | |
DECIMAL DEC NUMERIC MONEY | decimal 或者 dec_t | |
FLOAT DOUBLE PRECISION | double | |
INT8 | int8或者 ifx_int8_t | |
INTEGER INT | 4-byte integer | |
INTERVAL | Interval 或者 intrvl_t | |
LVARCHAR | lvarchar | char[n+1]或者char * |
NCHAR(N) | fixchar[n] 或者string[n+1] | char[n+1]或者char * |
NVARCHAR(m) | Varchar[m+1]或者string[m+1] | char[m+1] |
SERIAL | 4-byte integer | |
SERIAL8 | int8或者ifx_int8_t | |
SMALLFLOAT REAL | float | |
SMALLINT | 2-byte integer | |
TEXT | loc_t | |
VARCHAR(m,x) | varchar[m+1]或者string[m+1] | Char [m+1] |
BLOB | Ifx_lo_t | |
CLOB | Ifx_lo_t | |
LIST(e) | collection | |
MULTISET(e) | collection | |
Opaque data type | lvarchar, fixed binary, var binary | |
ROW(...) | Row | |
SET(e) | collection |