1. GBase 8s数据类型
本章节将介绍数据库支持数据类型。
1.1. 数值类型
数值类型由 2 字节、4 字节、 8 字节或10字节的整数以及 4 字节或 8 字节的浮点数和可选精度的十进制数组成。
下表列出了可用的数值类型。
| 数据类型 | 存储长度 | 描述与说明 | 取值范围 |
|---|---|---|---|
| DECIMAL(p,s)或DEC(p,s) | 可变长度 | 固定精度数 | 在小数部分中最多 20 位有效数字,或在小数点的左边最多 32 位有效数字。 |
| NUMERIC(p,s) | 可变长度 | DECIMAL(p,s) 的符合 ANSI 的同义词 | 在小数部分中最多 20 位有效数字,或在小数点的左边最多 32 位有效数字。 |
| SMALLINT | 2字节 | 小范围整数值 | -32,767 至 32,767 [-(2^15 - 1), 2^15 - 1] |
| INTEGER或INT | 4字节 | 整数值 | -2,147,483,647 至 2,147,483,647 [-(2^31 - 1), 2^31 - 1] |
| BIGINT | 8字节 | 大范围整数值 | -9,223,372,036,854,775,807 至 9,223,372,036,854,775,807 [-(2^63 - 1), 2^63 - 1] |
| INT8 | 10字节 | 大范围整数值 | -9,223,372,036,854,775,807 至 9,223,372,036,854,775,807 [-(2^63 - 1), 2^63 - 1] |
| MONEY(p,s) | 可变长度 | 存储定点货币值。 这些值与 DECIMAL(p,s) 值有相同的内部数据格式。 |
在小数部分中最多 20 位有效数字,或在小数点的左边最多 32 位有效数字。 |
| SERIAL | 4字节 | 自增整数值 | -2,147,483,647 至 2,147,483,647 [-(2^31 - 1), 2^31 - 1] |
| BIGSERIAL | 8字节 | 自增大范围整数值 | -9,223,372,036,854,775,807 至 9,223,372,036,854,775,807 [-(2^63 - 1), 2^63 - 1] |
| SERIAL8 | 10字节 | 自增大范围整数值 | -9,223,372,036,854,775,807 至 9,223,372,036,854,775,807 [-(2^63 - 1), 2^63 - 1] |
| SMALLFLOAT | 4字节 | 单精度浮点数 | 6至7位有效数字,能保证6位的有效数字 |
| FLOAT | 8字节 | 双精度浮点数 | 14至15位有效数字,能保证14位的有效数字 |
| DOUBLE PRECISION | 8字节 | FLOAT同义词 | 14至15位有效数字,能保证14位的有效数字 |
| *DECIMAL(p) | 可变长,p最大32 | 可调整精度浮点数 | 指定p位有效数字 |
注:DECIMAL(p) 在符合ANSI标准的库中等价于DECIMAL(p,0)
1.2. 字符类型
下表列出了 GBase 8s 所支持的字符类型:
| 数据类型 | 存储长度 | 描述与说明 |
|---|---|---|
| CHAR(n)或CHARACTER(n) | 固定长度,n值最大32,767 | 支持文本数据的次序中的代码集顺序。缺省的大小为 1 字节。 |
| NCHAR(n) | 固定长度,n值最大32,767 | 支持文本数据的本地化次序。 |
| NVARCHAR(n) | 可变长度,n值最大32,765 | 支持文本数据的本地化次序。 |
| NVARCHAR2(n) | 可变长度,n值最大32,765 | 支持文本数据的本地化次序。 |
| VARCHAR(n) | 可变长度,n值最大32,765 | 支持文本数据的次序中的代码集顺序。 |
| VARCHAR2(n) | 可变长度,n值最大32,765 | 支持文本数据的次序中的代码集顺序。 |
| CHARACTER VARYING(n) | 可变长度,n值最大32,765 | VARCHAR 的符合 ANSI 的同义词 |
| LVARCHAR(n) | 可变长度,n值最大32,739 内置不透明数据类型 |
缺省的大小为 2,048 字节 |
| CLOB2 | 可变长度 | 小于32,732使用数据空间存储,大于等于则使用智能大对象空间存储 |
1.3. 日期/时间类型
下表列出了 GBase 8s 支持的日期和时间类型。
| 数据类型 | 存储长度 | 描述与说明 | 取值范围 |
|---|---|---|---|
| DATE | 4字节 | 儒略日 | 公元1年1月1日 至 公元9999年12月31日 [0001-01-01, 9999-12-31] |
| DATETIME | 可变长度 | 时间点日期和每日时间,包含year、month、day、hour、minute、second及fraction(n) n表示分秒的位数(1-5) |
取值范围从 1 年至 9999 年,格式为yyyy-mm-dd hh24:mi:ss.ff5 |
| TIMESTAMP(n) | 可变长度 | DATETIME的同义词,n表示分秒的位数(1-6) | 取值范围从 1 年至 9999 年,格式为yyyy-mm-dd hh24:mi:ss.ff5 |
| INTERVAL | 可变长度 | 时间间隔。 以年数和/或月数的形式,或以更小的时间单位的形式(天数、小时数、分钟数、秒数和/或几分之一秒) |
最大的时间单位达到 9 位数值精度。 |
| TIMESTAMP WITH TIME ZONE | 可变长度 | 包含时区的TIMESTAMP类型 | 取值范围从 1 年至 9999 年,格式为yyyy-mm-dd hh24:mi:ss.ff5 [+-]tzh:tzm |
1.4. 简单大对象数据类型
下表列出了 GBase 8s 支持的简单大对象数据类型。
| 数据类型 | 存储长度 | 描述与说明 | 取值范围 |
|---|---|---|---|
| TEXT | 可变长度 | 文本数据 | 最大2^31字节(2GB);可存储于数据空间或简单大对象空间 |
| BYTE | 可变长度 | 数字化数据 | 最大2^31字节(2GB);可存储于数据空间或简单大对象空间 |
1.5. 智能大对象数据类型
下表列出了 GBase 8s 支持的智能大对象数据类型。
| 数据类型 | 存储长度 | 描述与说明 | 取值范围 |
|---|---|---|---|
| CLOB | 可变长度 | 文本数据 内置不透明数据类型 |
最大4TB;可存储于智能大对象空间 |
| BLOB | 可变长度 | 数字化数据 内置不透明数据类型 |
最大4TB;可存储于智能大对象空间 |
1.6. 布尔类型
GBase 8s 支持标准的 boolean 数据类型。
boolean 有”true”(真)或”false”(假)两个状态,可分别用字符”t”或”f”表示, 第三种”unknown”(未知)状态,用 NULL 表示。
| 数据类型 | 存储长度 | 描述与说明 | 取值范围 |
|---|---|---|---|
| BOOLEAN | 1字节 | 布尔类型:真、假、空 内置不透明数据类型 |
't','f',null |
1.7. 其它内置不透明数据类型
| 数据类型 | 存储长度 | 描述与说明 | 取值范围 |
|---|---|---|---|
| JSON | 可变长度 | 文本数据 | 小于249使用数据空间存储,大于等于则使用智能大对象空间存储 |
| BSON | 可变长度 | 数据化数据 | 小于249使用数据空间存储,大于等于则使用智能大对象空间存储 |
| RAW(n) | 可变长度,n值最大32,739,默认32,739 | 二进制类型数据(16进制方式) | 任意16进制字符 |
最后更新日期:2025-08-20