📜  日期之间的 postgres - SQL (1)

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

PostgreSQL中的日期操作

在PostgreSQL中,日期和时间是一组内置数据类型。它们都有丰富的操作和函数,使得在表和查询中使用日期和时间变得更加容易。以下是一些常见的日期和时间操作。

1.日期格式

在PostgreSQL中,日期可以使用 ISO 8601 格式定义。例子:

SELECT DATE '2022-12-31';

结果为:

    date
------------
 2022-12-31
2.日期函数

PostgreSQL提供了一些日期函数,用于在数据库中处理和操作日期。下面是一些例子:

CURRENT_DATE
SELECT CURRENT_DATE;

返回当前日期,格式为YYYY-MM-DD。

NOW
SELECT NOW();

返回当前日期和时间,格式为YYYY-MM-DD HH:MI:SS。

EXTRACT

EXTRACT函数用于从日期中提取特定的部分,例如月份或年份。以下是一些示例:

SELECT EXTRACT(MONTH FROM CURRENT_DATE);

返回当前月份。

SELECT EXTRACT(YEAR FROM CURRENT_DATE);

返回当前年份。

DATE_TRUNC

DATE_TRUNC函数用于截断日期。例如,如果您要将日期截断为月份,则可以使用以下查询:

SELECT DATE_TRUNC('month', CURRENT_DATE);

结果为:

    date_trunc
---------------------
 2022-09-01 00:00:00

这将返回当前月份的第一天。

3.日期运算符

PostgreSQL提供了一些日期运算符,用于计算两个日期之间的差异,或向日期添加或减去特定的间隔。以下是一些示例:

AGE
SELECT AGE(DATE '1986-12-11', DATE '2000-01-01');

返回两个日期之间的年龄。

INTERVAL
SELECT CURRENT_DATE + INTERVAL '1 month';

将当前日期添加一个月。

DATE_PART
SELECT DATE_PART('day', DATE '2022-09-30');

获取日期的天数部分。

4.日期类型转换

在PostgreSQL中,可以使用CAST和CONVERT函数在不同的日期类型之间进行转换。以下是一些示例:

SELECT CAST('2022-09-01' AS TIMESTAMP);

将字符串转换为时间戳。

SELECT CAST('2022-09-01 12:34:56' AS DATE);

将字符串转换为日期。

总结

以上是PostgreSQL中日期和时间操作的一些示例。掌握这些技能将有助于在PostgreSQL中更好地操作和查询日期。如果需要更多信息,请查阅PostgreSQL文档。