PostgreSQL 8.2.3 中文文档
后退快退快进前进

章8. 数据类型

目录
8.1. 数值类型
8.1.1. 整数类型
8.1.2. 任意精度数值
8.1.3. 浮点数类型
8.1.4. 序列号类型
8.2. 货币类型
8.3. 字符类型
8.4. 二进制数据类型
8.5. 日期/时间类型
8.5.1. 日期/时间输入
8.5.2. 日期/时间输出
8.5.3. 时区
8.5.4. 内部
8.6. 布尔类型
8.7. 几何类型
8.7.1.
8.7.2. 线段
8.7.3. 矩形
8.7.4. 路径
8.7.5. 多边形
8.7.6.
8.8. 网络地址类型
8.8.1. inet
8.8.2. cidr
8.8.3. inet 对比 cidr
8.8.4. macaddr
8.9. 位串类型
8.10. 数组
8.10.1. 数组类型的声明
8.10.2. 数组值输入
8.10.3. 访问数组
8.10.4. 修改数组
8.10.5. 在数组中检索
8.10.6. 数组输入和输出语法
8.11. 复合类型
8.11.1. 声明复合类型
8.11.2. 复合类型值输入
8.11.3. 访问复合类型
8.11.4. 修改复合类型
8.11.5. 复合类型输入和输出语法
8.12. 对象标识符类型
8.13. 伪类型
8.14. XML文档支持

PostgreSQL 有着丰富的内置数据类型可用。用户还可以使用 CREATE TYPE 命令增加新的数据类型。

表8-1显示了所有内置的普通数据类型。在"别名"列里列出的大多数可选名字都是因历史原因 PostgreSQL 在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以使用,但没有在这里列出。

表8-1. 数据类型

名字别名描述
bigintint8有符号 8 字节整数
bigserialserial8自增 8 字节整数
bit [ (n) ] 定长位串
bit varying [ (n) ]varbit变长位串
booleanbool逻辑布尔值(真/假)
box 平面中的矩形
bytea 二进制数据("字节数组")
character varying [ (n) ]varchar [ (n) ]变长字符串
character [ (n) ]char [ (n) ]定长字符串
cidr IPv4 或 IPv6 网络地址
circle 平面中的圆
date 日历日期(年, 月, 日)
double precisionfloat8双精度浮点数字
inet IPv4 或 IPv6 网络地址
integerint, int4有符号 4 字节整数
interval [ (p) ] 时间间隔
line 平面中的无限长直线
lseg 平面中的线段
macaddr MAC 地址
money 货币金额
numeric [ (p, s) ]decimal [ (p, s) ]可选精度的准确数字
path 平面中的几何路径
point 平面中的点
polygon 平面中的封闭几何路径
realfloat4单精度浮点数
smallintint2有符号 2 字节整数
serialserial4自增 4 字节整数
text 变长字符串
time [ (p) ] [ without time zone ] 一天中的时间
time [ (p) ] with time zonetimetz一天里的时间,包括时区
timestamp [ (p) ] [ without time zone ] 日期和时间
timestamp [ (p) ] with time zonetimestamptz日期和时间,包括时区

【兼容性】下列类型(或者那样拼写的)是 SQL 声明的:bit, bit varying, boolean, char, character varying, character, varchar, date, double precision, integer, interval, numeric, decimal, real, smallint, time(有时区和无时区), timestamp(有时区和无时区)

每种数据类型都有一个由其输入和输出函数决定的外部表现形式。许多内建的类型有明显的格式。不过,许多类型要么是 PostgreSQL 所特有的,比如几何路径,要么是有几种不同的格式,比如日期和时间类型。有些输入和输出函数是不可逆的。也就是说,输出函数的输出结果和原始的输入比较的时候可能丢失精度。


后退首页前进
VALUES 列表上一级数值类型