HashData 的数据类型基本跟 PostgreSQL 的一样,类型十分丰富,下面介绍几种常见的数据类型。对于 HashData 支持的其他数据类型,读者可以参考 PostgreSQL 文档。
数值类型
类型名称 | 存储空间 | 描述 | 范围 |
---|
smallint | 2 字节 | 小范围整数 | -32768 ~ +32768 |
integer | 4 字节 | 常用的整数 | -2147483648 ~ +2147483648 |
bigint | 8 字节 | 大范围的整数 | -9223372036854775808 ~ +9223372036854775808 |
decimal | 变长 | 用户声明精度, | 无限制 |
numeric | 变长 | 用户声明精度, | 无限制 |
real | 4 字节 | 变精度,不 | 6 位十进制数字精度 |
double precision | 8 字节 | 变精度,不 | 15 位十进制数字精度 |
serial | 4 字节 | 自增整数 | 1 ~ 2147483647 |
字符类型
类型名称 | 描述 |
---|
character varying(n),varchar(n) | 变长,有长度限制 |
character(n),char(n) | 定长,不足补空白 |
text | 变长,无长度限制 |
时间类型
类型名称 | 存储空间 | 描述 | 低值 | 高值 | 时间精度 |
---|
timestamp[(p)][without time zone] | 8 字节 | 日期和时间 | 4713 BC | 5874897 AD | 1 ms |
timestamp[(p)] with time zone | 8 字节 | 日期和时间,带时区 | 4713 BC | 5874897 AD | 1 ms |
interval[(p)] | 12 字节 | 时间间隔 | -178000000 年 | 178000000年 | 1ms |
date | 4 字节 | 只用于表示日期 | 4713 BC | 5874897 AD | 1 天 |
time[(p)][without time zone] | 8 字节 | 只用于表示一日内时间 | 0:00:00 | 24:00:00 | 1 ms |
time[(p)] with time zone | 12 字节 | 只用于表示一日内时间,带时区 | 00:00:00+1459 | 24:00:00-1459 | 1ms |