GBase 8s数据类型
数据类型是在创建表的时候为每个字段设置的。
GBase 8s提 供了丰富的数据类型。用户可以使用 CREATE TYPE 命令在数据库中创建新的数据类型。GBase 8s 的数据类型有很多种,主要的数据类型说明如下:
字符类型
下表列出了 GBase 8s 所支持的字符类型:
| 数据类型 | 存储长度 | 描述 | 
|---|---|---|
| CHAR(n)或 CHARACTER(n) | 定长 n最大32,767 | 支持文本数据的次序中的代码集顺序。 缺省的大小为 1 字节。 | 
| NCHAR(n) | 定长 n最大32,767 | 支持文本数据的本地化次序。 | 
| NVARCHAR(n) | 可变长 n最大255 | 支持文本数据的本地化次序。 | 
| VARCHAR(n) | 可变长 n最大255 | 支持文本数据的代码集顺序次序。 | 
| CHARACTER VARYING(n) | 可变长 n最大255 | VARCHAR 的符合 ANSI 的同义词 | 
| LVARCHAR(n) | 可变长 n最大32,739 | 缺省的大小为 2,048 字节。 | 
数值类型
数值类型由 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字节 | 自增整数 | 1 至 2,147,483,647 (1至2^31-1) | 
| BIGSERIAL | 8字节 | 自增的大范围整数 | 1 至 9,223,372,036,854,775,807 (1至2^63-1) | 
| SERIAL8 | 10字节 | 自增的大范围整数 | 1 至 9,223,372,036,854,775,807 (1至2^63-1) | 
| SMALLFLOAT | 4字节 | 6位精度浮点数 不精确 | 6至7位有效数字,能保证6位的有效数字 | 
| FLOAT | 8字节 | 14位精度浮点数 不精确 | 14至15位有效数字,能保证14位的有效数字 | 
| DOUBLE PRECISION | 8字节 | FLOAT同义词 | 14至15位有效数字,能保证14位的有效数字 | 
| DECIMAL(p) | 可变长 p最大32 | 可调整精度浮点数 不精确 | 指定p位有效数字 | 
日期/时间类型
下表列出了 GBase 8s 支持的日期和时间类型。
| 数据类型 | 存储长度 | 描述 | 取值范围 | 
|---|---|---|---|
| DATE | 4字节 | 儒略日 | 公元 1 年 1 月 1 日至 公元9999 年 12 月 31 日 | 
| DATETIME | 可变长 | 时间点日期和每日时间,包含year、month、day、hour、minute、second及fraction | 取值范围从 1 年至 9999 年,格式为yyyy-mm-dd hh24:mi:ss.ff5 | 
| TIMESTAMP(n) | 可变长 n最大为6 | DATETIME的同义词 n表示分秒的位数 | 取值范围从 1 年至 9999 年,格式为yyyy-mm-dd hh24:mi:ss.ff6 | 
| INTERVAL | 可变长 | 时间间隔。以年数和/或月数的形式,或以更小的时间单位的形式(天数、小时数、分钟数、秒数和/或几分之一秒) | 最大的时间单位达到 9 位数值精度。 | 
简单大对象数据类型
下表列出了 GBase 8s 支持的简单大对象数据类型。
| 数据类型 | 存储长度 | 描述 | 取值范围 | 
|---|---|---|---|
| TEXT | 可变长 | 文本数据 | 最大2^31字节(2GB) | 
| BYTE | 可变长 | 任何数字化数据 | 最大2^31字节(2GB) | 
智能大对象数据类型
下表列出了 GBase 8s 支持的智能大对象数据类型。
| 数据类型 | 存储长度 | 描述 | 取值范围 | 
|---|---|---|---|
| CLOB | 可变长 | 文本数据 | 最大4TB字节 | 
| BLOB | 可变长 | 任何数字化数据 | 最大4TB字节 | 
布尔类型
GBase 8s 支持标准的 boolean 数据类型。
boolean 有"true"(真)或"false"(假)两个状态,可分别用字符"t"或"f"表示, 第三种"unknown"(未知)状态,用 NULL 表示。
| 数据类型 | 存储长度 | 描述 | 取值范围 | 
|---|---|---|---|
| BOOLEAN | 1字节 | boolean | true/false/null | 
注:数据类型基于GBase 8s v8.7 2.0.1a2_2版本。
- 上一篇: GBase 8s 全文索引功能
- 下一篇: GBase 8s使用emoji表情符号示例