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

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

百科 / 数据类型 / 范围类型

daterange

日期范围

当前查看 PostgreSQL 18。

中文定义与说明

日期范围

同版本中文手册节选

范围类型是表示某种元素类型的值范围的数据类型(该元素类型称为范围的子类型(subtype))。例如,timestamp 的范围可用于表示会议室被预订的时间范围。在这种情况下,数据类型为 tsrange(“timestamp range”的缩写),而 timestamp 就是其子类型。子类型必须具有全序,这样才能明确定义元素值是位于某个值范围之内、之前还是之后。

范围类型很有用,因为它们能用单个范围值表示许多元素值,也能清晰地表达诸如范围重叠之类的概念。将时间和日期范围用于日程安排,是最清晰的例子;但价格区间、仪器的测量范围等场景也同样有用。

每种范围类型都有一个对应的多范围类型。多范围是一个有序列表,其中的范围彼此不连续,且均非空、非 NULL。大多数范围操作符也可作用于多范围,并且多范围还有一些专用函数。

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

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

定义

日期范围

daterange
目录名称
pg_catalog.daterange
类型 OID
3912
类型种类
范围
声明长度
变长(varlena)
存储策略
扩展
输入函数
range_in
输出函数
range_out

系统目录属性

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

oid
3912
descr
range of dates
typacl
_null_
typlen
-1
typelem
0
typname
daterange
typsend
range_send
typtype
r
typalign
i
typarray
0
typbyval
f
typdelim
','
typinput
range_in
typmodin
-
typndims
0
typowner
POSTGRES
typrelid
0
typmodout
-
typoutput
range_out
typtypmod
-1
typanalyze
range_typanalyze
typdefault
_null_
typnotnull
f
typreceive
range_recv
typstorage
x
typbasetype
0
typcategory
R
typcollation
0
typisdefined
t
typnamespace
pg_catalog
typsubscript
-
typdefaultbin
_null_
array_type_oid
3913
typispreferred
f
array_type_name
_daterange

类型转换 1

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

源类型目标类型转换上下文转换方式函数
daterangedatemultirange显式函数datemultirange(daterange)

范围类型属性 1

pg_range 中的范围与多范围定义:子类型、排序操作符类、排序规则、规范化函数和差值函数。

范围类型多范围类型子类型排序操作符类规范化函数差值函数排序规则
daterangedatemultirangedatebtree/date_opsdaterange_canonicaldaterange_subdiff0

版本比较

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

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

文档与源码

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

相关条目

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