📅  最后修改于: 2023-12-03 15:05:35.740000             🧑  作者: Mango
在 PostgreSQL 中,Timestamp 是一个数据类型,用于存储日期和时间。Timestamp 表示一个日期和时间的点,以 UTC 偏移量(协调世界时)为基础。Timestamp 通常用于记录时间戳、日志记录、和其他需要时间戳的应用程序中。
在 PostgreSQL 中,Timestamp 数据类型有两种形式:timestamp 和 timestamptz,分别代表本地时间戳和 UTC 时间戳。
Timestamp 类型通常用于记录本地日期和时间,不考虑时区。使用 Timestamp 数据类型,数据库将日期和时间存储为本地时间戳,并且不包含时区信息。
Timestamptz 数据类型用于存储带有时区偏移量的时间戳。使用 Timestamptz 数据类型,数据库将日期和时间存储为 UTC 时间戳,并且包含时区信息。
Timestamp 数据类型存储为 8 字节二进制字符串。PostgreSQL 支持多个输入和输出格式:ISO 8601、RFC 3339、SQL 标准格式、Unix 时间戳等。例如,以下输入都将被认为是有效的 timestamp 字符串:
PostgreSQL 提供了许多函数来操作 Timestamp 类型的数据。以下是一些常用的函数:
-- 创建一个表,包含一个列为 Timestamp 类型的字段
CREATE TABLE example_table (
id serial PRIMARY KEY,
timestamp_column timestamp
);
-- 插入 Timestamp 数据
INSERT INTO example_table (timestamp_column) VALUES
('2021-09-07 12:34:56'),
('2021-09-08 10:11:12'),
('2021-09-09 09:08:07');
-- 选择所有的数据,输出为指定格式的字符
SELECT id, to_char(timestamp_column, 'YYYY-MM-DD HH24:MI:SS') AS timestamp_str FROM example_table;
以上示例将输出:
|id|timestamp_str| |---|---| |1|2021-09-07 12:34:56| |2|2021-09-08 10:11:12| |3|2021-09-09 09:08:07|
PostgreSQL 中的 Timestamp 数据类型提供了灵活性和可读性,用于处理日期和时间数据。通过使用 PostgreSQL 提供的函数和格式化选项,可以轻松地将 Timestamp 转换为所需的格式,并对数据进行复杂的操作。