附录D. 数据类型列表¶
| 序号 | 类型 | 内部格式 | 描述 | 有效范围 | 备注 |
|---|---|---|---|---|---|
Tinyint Int1 |
int1 | 整型数据 | [-128, 127] | ||
Smallint Int2 |
int2 | 整型数据 | [-32768, 32767] | ||
Int Integer Int4 |
int4 | 整型数据 | [-2147483648, 2147483647 ] | ||
Bigint int8 |
int8 | 整型数据 | -9223372036854775808 到 9223372036854775807 |
存储大小为8个字节 | |
bit(n) bit |
bit(n) bit(1) |
固定长度的位串数据 | 1,0 最大长度限制是 8*8000bit |
bit类型的数据必须准确匹配长度n, 试图存储短些或者长一些的数据都是错误的。没有长度声明的BIT 等效于 BIT(1) | |
numeric[(p[, s])] Numeric |
numeric[(p[, s])] Numeric(18,0) |
固定精度和小数位的数字数据 | 最大精度P为10000,S则可在0-p之间变化 | p(精度)指定小数点左边和右边可以存储的十进制数字的最大个数。 s(小数位数)指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从0到 s 之间的值。 |
|
decimal(p[, s])] dec[(p[,s])] decimal |
decimal[(p[, s])] decimal[(p[, s])] decimal(18,0) |
固定精度和小数位的数字数据 | 同上,区别在于物理存储上实现不同,numberic为定长存储,而decimal为变长存储 | ||
Real float4 |
Float4 | 浮点精度数字 | [-3.4E+38, 3.4E+38] | 存储大小为4字节。 6位十进制数字精度。 如果n小于等于24,则float(n)与real类型是等价的, 6位十进制数字精度,存储大小为4字节 |
|
float(n) (1<=n<=24) |
lpfloat | ||||
float(n)(24<=n<= 53) float |
hpfloat | ||||
float8 double precision |
Float8 | 浮点精度数字 | [-1E+308, 1E+308] | 存储大小为8字节 15位十进制数字精度 |
|
Char(n) Character(n) char |
char(n) char(n) char(1) char |
固定长度的字符数据 | 最大长度为8000个字符 | char(n)是 character (n)的别名, 没有长度声明词的character等于 character(1) | |
| varchar | varchar[(n)] character varying[(n)] |
可变长度的字符数据 | 最大长度为8000个字符 | varchar(n)是 character varying (n) 的别名,如果不带长度说明使用 character varying,那么该类型接受任意长度的字串 | |
| text | text | 可变长度的字符数据 | 最大长度为16777215个字节 | text 不需要明确地声明字串尺寸的上限 | |
| binary | binary(n) | 定长的二进制字串 | 最大长度为 8000 |
binary(n)数据类型代表二进制数,二进制数可以是0—9和A—F或a—f的字符组成,二进制数以0x标识开头,其中每两个字符为一组,构成一个字节。 存储大小为4字节加上制定的n字节二进制字串 |
|
| varbinary | varbinary(n) | 变长的二进制字串 | 最大长度为 8000 |
同上 | |
| boolean | boolean bool |
布尔类型 | boolean 只能为两个状态之一: '真'('True') 或 '假'('False')。 第三种状态,'未知'('Unknow'),用 SQL NULL 状态表示。 boolean 可用于任何布尔表达式, 并且布尔表达式的结果也是布尔类型兼容的 | ||
| date | date | 日期 | 存储大小为4字节 | ||
| time | time[ (p)] | 时间 | 存储大小为8字节 p 是一个整数, 对应在秒域中小数部分的位数。P的有效范围是0到6。缺省值是输入时间文本的精度 |
||
| Interval | interval [(p)] | 时间间隔 | 存储大小为12字节。 p 是一个整数, 对应在秒域中小数部分的位数。P的有效范围是0到6。缺省值是输入时间文本的精度。 |
||
| timestamp | timestamp[(p)] | 时间戳 | 存储大小为8字节 p 是一个整数, 对应在秒域中小数部分的位数。P的有效范围是0到6。缺省值是输入时间文本的精度 |
||
| clob | clob | 字符型大对象类型 | 理论上没有限制,可以达到4个G | CLOB数据与CLOB列所属表数据分开存放 | |
| blob | blob | 二进制大对象类型 | 理论上没有限制,可以达到4个G | BLOB数据与BLOB列所属表数据分开存放 |