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