📅  最后修改于: 2023-12-03 15:33:45.068000             🧑  作者: Mango
PostgreSQL 支持多种日期和时间数据类型,包括日期、时间和时区数据类型。下面是一些重要的 PostgreSQL 日期数据类型:
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
数据类型表示时间。
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
数据类型表示日期和时间。
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;
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
数据类型表示一段时间间隔。
CREATE TABLE mytable (
myinterval interval
);
在 SELECT
语句中,可以使用 INTERVAL
关键字定义时间间隔值。
SELECT * FROM mytable WHERE myinterval = INTERVAL '5 days';
通过使用不同的 PostgreSQL 日期数据类型,我们可以存储和操作日期、时间、日期时间和时间间隔数据。在开发 PostgreSQL 应用程序时,选择合适的日期数据类型非常重要。