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表情符号示例