📅  最后修改于: 2023-12-03 15:10:27.848000             🧑  作者: Mango
在PostgreSQL中,日期和时间是一组内置数据类型。它们都有丰富的操作和函数,使得在表和查询中使用日期和时间变得更加容易。以下是一些常见的日期和时间操作。
在PostgreSQL中,日期可以使用 ISO 8601 格式定义。例子:
SELECT DATE '2022-12-31';
结果为:
date
------------
2022-12-31
PostgreSQL提供了一些日期函数,用于在数据库中处理和操作日期。下面是一些例子:
SELECT CURRENT_DATE;
返回当前日期,格式为YYYY-MM-DD。
SELECT NOW();
返回当前日期和时间,格式为YYYY-MM-DD HH:MI:SS。
EXTRACT函数用于从日期中提取特定的部分,例如月份或年份。以下是一些示例:
SELECT EXTRACT(MONTH FROM CURRENT_DATE);
返回当前月份。
SELECT EXTRACT(YEAR FROM CURRENT_DATE);
返回当前年份。
DATE_TRUNC函数用于截断日期。例如,如果您要将日期截断为月份,则可以使用以下查询:
SELECT DATE_TRUNC('month', CURRENT_DATE);
结果为:
date_trunc
---------------------
2022-09-01 00:00:00
这将返回当前月份的第一天。
PostgreSQL提供了一些日期运算符,用于计算两个日期之间的差异,或向日期添加或减去特定的间隔。以下是一些示例:
SELECT AGE(DATE '1986-12-11', DATE '2000-01-01');
返回两个日期之间的年龄。
SELECT CURRENT_DATE + INTERVAL '1 month';
将当前日期添加一个月。
SELECT DATE_PART('day', DATE '2022-09-30');
获取日期的天数部分。
在PostgreSQL中,可以使用CAST和CONVERT函数在不同的日期类型之间进行转换。以下是一些示例:
SELECT CAST('2022-09-01' AS TIMESTAMP);
将字符串转换为时间戳。
SELECT CAST('2022-09-01 12:34:56' AS DATE);
将字符串转换为日期。
以上是PostgreSQL中日期和时间操作的一些示例。掌握这些技能将有助于在PostgreSQL中更好地操作和查询日期。如果需要更多信息,请查阅PostgreSQL文档。