↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 数据类型 / 日期与时间

interval

时间跨度

当前查看 PostgreSQL 18。

中文定义与说明

时间跨度

同版本中文手册定义

interval [ fields ] [ (p) ]16 字节时间间隔-178000000 年178000000 年1 微秒

查看完整中文手册与上下文。

PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。

定义

时间跨度

interval [ fields ] [ ( p ) ]
目录名称
pg_catalog.interval
类型 OID
1186
类型种类
基础类型
声明长度
16 字节
存储策略
plain
输入函数
interval_in
输出函数
interval_out
手册中的声明
interval [ fields ] [ ( p ) ]
存储大小
16 字节
手册说明
时间间隔
下限
-178000000 年
上限
178000000 年
精度
1 微秒

系统目录属性

此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。

oid
1186
descr
time interval, format 'number units ...'
typacl
_null_
typlen
16
typelem
0
typname
interval
typsend
interval_send
typtype
b
typalign
d
typarray
0
typbyval
f
typdelim
','
typinput
interval_in
typmodin
intervaltypmodin
typndims
0
typowner
POSTGRES
typrelid
0
typmodout
intervaltypmodout
typoutput
interval_out
typtypmod
-1
typanalyze
-
typdefault
_null_
typnotnull
f
typreceive
interval_recv
typstorage
p
typbasetype
0
typcategory
T
typcollation
0
typisdefined
t
typnamespace
pg_catalog
typsubscript
-
typdefaultbin
_null_
array_type_oid
1187
typispreferred
t
array_type_name
_interval

类型转换 3

与此类型相关的显式 pg_cast 记录。PostgreSQL 还支持 pg_cast 之外的类型转换,缺少记录不能证明转换不可能。

源类型目标类型转换上下文转换方式函数
timeinterval隐式函数interval(time)
intervaltime赋值函数time(interval)
intervalinterval隐式函数interval(interval,int4)

运算符重载 27

每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。

运算符左操作数右操作数返回类型含义实现函数
+dateintervaltimestamp相加。date_pl_interval
-dateintervaltimestamp相减。date_mi_interval
+timestamptzintervaltimestamptz相加。timestamptz_pl_interval
-timestamptzintervaltimestamptz相减。timestamptz_mi_interval
=intervalintervalbool等于。interval_eq
<>intervalintervalbool不等于。interval_ne
<intervalintervalbool小于。interval_lt
<=intervalintervalbool小于或等于。interval_le
>intervalintervalbool大于。interval_gt
>=intervalintervalbool大于或等于。interval_ge
-无(一元)intervalinterval取负。interval_um
+intervalintervalinterval相加。interval_pl
-intervalintervalinterval相减。interval_mi
*intervalfloat8interval相乘。interval_mul
*float8intervalinterval相乘。mul_d_interval
/intervalfloat8interval相除。interval_div
+timeintervaltime相加。time_pl_interval
-timeintervaltime相减。time_mi_interval
+timetzintervaltimetz相加。timetz_pl_interval
-timetzintervaltimetz相减。timetz_mi_interval
+intervaltimetime相加。interval_pl_time
+timestampintervaltimestamp相加。timestamp_pl_interval
-timestampintervaltimestamp相减。timestamp_mi_interval
+intervaldatetimestamp相加。interval_pl_date
+intervaltimetztimetz相加。interval_pl_timetz
+intervaltimestamptimestamp相加。interval_pl_timestamp
+intervaltimestamptztimestamptz相加。interval_pl_timestamptz

操作符类 5

声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。

操作符类索引方法输入类型操作符族默认存储类型
interval_opsbtreeintervalbtree/interval_ops是与输入类型相同
interval_opshashintervalhash/interval_ops是与输入类型相同
interval_minmax_opsbrinintervalbrin/interval_minmax_ops是interval
interval_minmax_multi_opsbrinintervalbrin/interval_minmax_multi_ops否interval
interval_bloom_opsbrinintervalbrin/interval_bloom_ops否interval

版本比较

PostgreSQL 17 → 18。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。

这两个样本的系统目录和结构化属性没有变化。

文档与源码

构建
18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

相关条目

全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。