date
日历日期(年、月、日)
当前查看 PostgreSQL 18。
中文定义与说明
日历日期(年、月、日)
同版本中文手册定义
date | 4 字节 | 日期(没有一天中的时间) | 4713 BC | 5874897 AD | 1 日 |
PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。
定义
日历日期(年、月、日)
date
- 目录名称
- pg_catalog.date
- 类型 OID
- 1082
- 类型种类
- 基础类型
- 声明长度
- 4 字节
- 存储策略
- plain
- 输入函数
- date_in
- 输出函数
- date_out
- 手册中的声明
- date
- 存储大小
- 4 字节
- 手册说明
- 日期(没有一天中的时间)
- 下限
- 公元前 4713 年
- 上限
- 公元 5874897 年
- 精度
- 1 天
系统目录属性
此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。
oid1082descrdatetypacl_null_typlen4typelem0typnamedatetypsenddate_sendtyptypebtypalignityparray0typbyvalttypdelim','typinputdate_intypmodin-typndims0typownerPOSTGREStyprelid0typmodout-typoutputdate_outtyptypmod-1typanalyze-typdefault_null_typnotnullftypreceivedate_recvtypstorageptypbasetype0typcategoryDtypcollation0typisdefinedttypnamespacepg_catalogtypsubscript-typdefaultbin_null_array_type_oid1182typispreferredfarray_type_name_date
类型转换 4
与此类型相关的显式 pg_cast 记录。PostgreSQL 还支持 pg_cast 之外的类型转换,缺少记录不能证明转换不可能。
| 源类型 | 目标类型 | 转换上下文 | 转换方式 | 函数 |
|---|---|---|---|---|
date | timestamp | 隐式 | 函数 | timestamp(date) |
date | timestamptz | 隐式 | 函数 | timestamptz(date) |
timestamp | date | 赋值 | 函数 | date(timestamp) |
timestamptz | date | 赋值 | 函数 | date(timestamptz) |
运算符重载 41
每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。
| 运算符 | 左操作数 | 右操作数 | 返回类型 | 含义 | 实现函数 |
|---|---|---|---|---|---|
+ | date | interval | timestamp | 相加。 | date_pl_interval |
- | date | interval | timestamp | 相减。 | date_mi_interval |
= | date | date | bool | 等于。 | date_eq |
<> | date | date | bool | 不等于。 | date_ne |
< | date | date | bool | 小于。 | date_lt |
<= | date | date | bool | 小于或等于。 | date_le |
> | date | date | bool | 大于。 | date_gt |
>= | date | date | bool | 大于或等于。 | date_ge |
- | date | date | int4 | 相减。 | date_mi |
+ | date | int4 | date | 相加。 | date_pli |
- | date | int4 | date | 相减。 | date_mii |
+ | date | time | timestamp | 将日期和时间转换为时间戳。 | datetime_pl |
+ | date | timetz | timestamptz | 将日期与带时区时间转换为带时区时间戳。 | datetimetz_pl |
+ | time | date | timestamp | 将时间和日期转换为时间戳。 | timedate_pl |
+ | timetz | date | timestamptz | 将带时区时间与日期转换为带时区时间戳。 | timetzdate_pl |
< | date | timestamp | bool | 小于。 | date_lt_timestamp |
<= | date | timestamp | bool | 小于或等于。 | date_le_timestamp |
= | date | timestamp | bool | 等于。 | date_eq_timestamp |
>= | date | timestamp | bool | 大于或等于。 | date_ge_timestamp |
> | date | timestamp | bool | 大于。 | date_gt_timestamp |
<> | date | timestamp | bool | 不等于。 | date_ne_timestamp |
< | date | timestamptz | bool | 小于。 | date_lt_timestamptz |
<= | date | timestamptz | bool | 小于或等于。 | date_le_timestamptz |
= | date | timestamptz | bool | 等于。 | date_eq_timestamptz |
>= | date | timestamptz | bool | 大于或等于。 | date_ge_timestamptz |
> | date | timestamptz | bool | 大于。 | date_gt_timestamptz |
<> | date | timestamptz | bool | 不等于。 | date_ne_timestamptz |
< | timestamp | date | bool | 小于。 | timestamp_lt_date |
<= | timestamp | date | bool | 小于或等于。 | timestamp_le_date |
= | timestamp | date | bool | 等于。 | timestamp_eq_date |
>= | timestamp | date | bool | 大于或等于。 | timestamp_ge_date |
> | timestamp | date | bool | 大于。 | timestamp_gt_date |
<> | timestamp | date | bool | 不等于。 | timestamp_ne_date |
< | timestamptz | date | bool | 小于。 | timestamptz_lt_date |
<= | timestamptz | date | bool | 小于或等于。 | timestamptz_le_date |
= | timestamptz | date | bool | 等于。 | timestamptz_eq_date |
>= | timestamptz | date | bool | 大于或等于。 | timestamptz_ge_date |
> | timestamptz | date | bool | 大于。 | timestamptz_gt_date |
<> | timestamptz | date | bool | 不等于。 | timestamptz_ne_date |
+ | interval | date | timestamp | 相加。 | interval_pl_date |
+ | int4 | date | date | 相加。 | integer_pl_date |
操作符类 5
声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。
版本比较
PostgreSQL 17 → 18。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。
这两个样本的系统目录和结构化属性没有变化。
文档与源码
- 构建
- 18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
- 指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f
相关条目
全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。