目录
UXDB有着丰富的本地数据类型可用。用户可以使用CREATE TYPE命令为 UXDB增加新的数据类型。
表?5.1显示了所有内建的普通数据类型。大部分在“别名”列里列出的可选名字都是因历史原因 被UXDB在内部使用的名字。另外,还有一些内部使用的或者废弃的类型也可以用,但没有在这里列出。
表?5.1.?数据类型
名字 | 别名 | 描述 |
---|---|---|
bigint | int8 | 有符号的8字节整数 |
bigserial | serial8 | 自动增长的8字节整数 |
bit [ ( | ? | 定长位串 |
bit varying [ ( | varbit | 变长位串 |
boolean | bool | 逻辑布尔值(真/假) |
box | ? | 平面上的普通方框 |
bytea | ? | 二进制数据(“字节数组”) |
character [ ( | char [ ( | 定长字符串 |
character varying [ ( | varchar [ ( | 变长字符串 |
cidr | ? | IPv4或IPv6网络地址 |
circle | ? | 平面上的圆 |
date | ? | 日历日期(年、月、日) |
double precision | float8 | 双精度浮点数(8字节) |
inet | ? | IPv4或IPv6主机地址 |
integer | int , int4 | 有符号4字节整数 |
interval [ | ? | 时间段 |
json | ? | 文本 JSON 数据 |
jsonb | ? | 二进制 JSON 数据,已分解 |
line | ? | 平面上的无限长的线 |
lseg | ? | 平面上的线段 |
macaddr | ? | MAC(Media Access Control)地址 |
macaddr8 | ? | MAC (Media Access Control) 地址 (EUI-64 格式) |
money | ? | 货币数量 |
numeric [ ( | decimal [ ( | 可选择精度的精确数字 |
path | ? | 平面上的几何路径 |
ux_lsn | ? | UXDB日志序列号 |
point | ? | 平面上的几何点 |
polygon | ? | 平面上的封闭几何路径 |
real | float4 | 单精度浮点数(4字节) |
smallint | int2 | 有符号2字节整数 |
smallserial | serial2 | 自动增长的2字节整数 |
serial | serial4 | 自动增长的4字节整数 |
text | ? | 变长字符串 |
time [ ( | ? | 一天中的时间(无时区) |
time [ ( | timetz | 一天中的时间,包括时区 |
timestamp [ ( | ? | 日期和时间(无时区) |
timestamp [ ( | timestamptz | 日期和时间,包括时区 |
tsquery | ? | 文本搜索查询 |
tsvector | ? | 文本搜索文档 |
txid_snapshot | ? | 用户级别事务ID快照 |
uuid | ? | 通用唯一标识码 |
xml | ? | XML数据 |
下列类型(或者及其拼写)是SQL指定的:bigint
、bit
、bit varying
、boolean
、char
、character varying
、character
、varchar
、date
、double precision
、integer
、interval
、numeric
、decimal
、real
、smallint
、time
(有时区或无时区)、timestamp
(有时区或无时区)、xml
。
每种数据类型都有一个由其输入和输出函数决定的外部表现形式。许多内建的类型有明显的格式。不过,许多类型要么是UXDB所特有的(例如几何路径),要么可能是有几种不同的格式(例如日期和时间类型)。 有些输入和输出函数是不可逆的,即输出函数的结果和原始输入比较时可能丢失精度。