📜  PostgreSQL – 日期数据类型(1)

📅  最后修改于: 2023-12-03 15:33:45.068000             🧑  作者: Mango

PostgreSQL – 日期数据类型

PostgreSQL 支持多种日期和时间数据类型,包括日期、时间和时区数据类型。下面是一些重要的 PostgreSQL 日期数据类型:

date

date 数据类型表示日期。

CREATE TABLE mytable (
   mydate date
);

默认格式为 yyyy-MM-dd

SELECT 语句中,可以使用代表日期的字符串(例如 '2004-05-23')或日期函数(例如 CURRENT_DATE)获取日期值。

SELECT * FROM mytable WHERE mydate = '2004-05-23';
SELECT * FROM mytable WHERE mydate = CURRENT_DATE;
time

time 数据类型表示时间。

CREATE TABLE mytable (
   mytime time
);

默认格式为 HH:mm:ss

SELECT 语句中,可以使用代表时间的字符串(例如 '23:14:30')或时间函数(例如 CURRENT_TIME)获取时间值。

SELECT * FROM mytable WHERE mytime = '23:14:30';
SELECT * FROM mytable WHERE mytime = CURRENT_TIME;
timestamp

timestamp 数据类型表示日期和时间。

CREATE TABLE mytable (
   mytimestamp timestamp
);

默认格式为 yyyy-MM-dd HH:mm:ss

SELECT 语句中,可以使用代表日期时间的字符串(例如 '2004-05-23 23:14:30')或日期时间函数(例如 CURRENT_TIMESTAMP)获取日期时间值。

SELECT * FROM mytable WHERE mytimestamp = '2004-05-23 23:14:30';
SELECT * FROM mytable WHERE mytimestamp = CURRENT_TIMESTAMP;
timestamptz

timestamp with time zone 数据类型表示带有时区的日期和时间。

CREATE TABLE mytable (
   mytimestamptz timestamptz
);

默认格式为 yyyy-MM-dd HH:mm:ss 并带有时区信息。

SELECT 语句中,可以使用代表日期时间的字符串(例如 '2004-05-23 23:14:30+08')或日期时间函数(例如 CURRENT_TIMESTAMP)获取日期时间值。

SELECT * FROM mytable WHERE mytimestamptz = '2004-05-23 23:14:30+08';
SELECT * FROM mytable WHERE mytimestamptz = CURRENT_TIMESTAMP;
interval

interval 数据类型表示一段时间间隔。

CREATE TABLE mytable (
   myinterval interval
);

SELECT 语句中,可以使用 INTERVAL 关键字定义时间间隔值。

SELECT * FROM mytable WHERE myinterval = INTERVAL '5 days';
总结

通过使用不同的 PostgreSQL 日期数据类型,我们可以存储和操作日期、时间、日期时间和时间间隔数据。在开发 PostgreSQL 应用程序时,选择合适的日期数据类型非常重要。