PostgreSQL中日期类型
时间: 2025-02-09 14:00:56 浏览: 15
PostgreSQL 日期类型概述
PostgreSQL 提供了多种用于存储和操作日期时间的数据类型。这些数据类型能够精确表示不同的时间和日期范围,并支持丰富的函数来进行各种转换和计算。
基本日期时间类型
- date: 只保存年月日部分,不带有时分秒信息。
- time [ without time zone ] 和 time with time zone: 分别用来记录一天中的具体时刻,前者不含时区信息而后者则包含。
- timestamp [ without time zone ] 和 timestamp with time zone: 记录完整的日期加时间戳;其中
with time zone
版本会自动调整到 UTC 或者指定的本地时区显示[^1]。
对于所有涉及日期或时间类型的字段,在输入字符串形式的数据时还可以接受一些特殊值如 'now'
, 它们代表的是事务启动那一刻的时间点而不是查询执行瞬间的时间[^2]。
BEGIN;
SELECT CURRENT_TIMESTAMP AS "current_timestamp", NOW() AS "now()", TIMESTAMP WITH TIME ZONE 'now' AS "'timestamptz'";
COMMIT;
上述 SQL 语句展示了如何通过不同方式获取当前系统的日期时间信息。可以看到三者的输出完全一致,因为它们都指向同一个固定的时间点即事务开始之时。
处理 JSON 中的日期
当涉及到JSON格式的数据交换时,PostgreSQL也提供了相应的工具来帮助处理嵌入式的日期时间表达:
SELECT array_to_json('{{"2023-07-04","Independence Day"},{"2023-12-25","Christmas"}}'::text[]);
SELECT row_to_json(row('2023-10-10'::date,'National Holiday'));
以上命令分别演示了怎样把数组以及单行记录转化为JSON对象并保留其内部可能存在的日期成分[^3]。
相关推荐


















