SQL 数据类型 | 整数值 | X-Open 整数值 | SQL 数据类型 | 整数值 | X-Open 整数值 |
---|---|---|---|---|---|
CHAR | 0 | 1 | MONEY | 8 | – |
SMALLINT | 1 | 4 | DATETIME | 10 | – |
INTEGER | 2 | 5 | BYTE | 11 | – |
FLOAT | 3 | 6 | TEXT | 12 | – |
SMALLFLOAT | 4 | – | VARCHAR | 13 | – |
DECIMAL | 5 | 3 | INTERVAL | 14 | – |
SERIAL | 6 | – | NCHAR | 15 | – |
DATE | 7 | – | NVARCHAR | 16 | – |
SQL 数据类型 | 整数值 | SQL 数据类型 | 整数值 |
---|---|---|---|
INT8 | 17 | 固定长度 OPAQUE 类型 | 41 |
SERIAL8 | 18 | LVARCHAR(仅限于客户端侧) | 43 |
SET | 19 | BOOLEAN | 45 |
MULTISET | 20 | BIGINT | 52 |
LIST | 21 | BIGSERIAL | 53 |
ROW(未命名的) | 22 | IDSSECURITYLABEL | 2061 |
COLLECTION | 23 | ROW(命名的) | 4118 |
可变长 OPAQUE 类型 | 40 |
在系统目录中,相同的 TYPE 常量还可出现在 syscolumns.coltype 列中。请参阅 GBase 8s SQL 参考指南。
对于更易于维护的代码,请使用为这些 SQL 数据类型预定义的常量,而不是它们的实际整数值。在 $GBASEDBT/incl/public/sqltypes.h 头文件中定义这些常量。然而,您不可在 SET DESCRIPTOR 语句中使用实际的常量名称。相反,将该常量赋值给整数主变量,并在 SET DESCRIPTOR 语句文件中指定该主变量。
main() { EXEC SQL BEGIN DECLARE SECTION; int itemno, type; EXEC SQL END DECLARE SECTION; ... EXEC SQL allocate descriptor 'desc1' with max 5; ... type = SQLINT; itemno = 3; EXEC SQL set descriptor 'desc1' value :itemno type = :type; }
对于 ITYPE,此信息时唯一的。当您创建不符合 X/Open 标准的动态的程序时,请使用 ITYPE。