📜  postgres 从日期中提取日期 (1)

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

Postgres 从日期中提取日期

在 Postgres 中,我们可以使用 date_trunc() 函数以及 EXTRACT 关键字来提取日期中的部分信息。

下面是一些常用的用法:

1. 提取年份
SELECT EXTRACT(YEAR FROM date_column) AS year FROM table_name;

其中,date_column 是我们想要提取年份的日期列,table_name 是该表的名称。

2. 提取月份
SELECT EXTRACT(MONTH FROM date_column) AS month FROM table_name;

同样,date_column 是日期列的名称,table_name 是表的名称。这将返回表中每个行的月份信息。

3. 提取日
SELECT EXTRACT(DAY FROM date_column) AS day FROM table_name;

这将从日期列中提取每个行的日信息。table_name 是表的名称。

4. 提取小时
SELECT EXTRACT(HOUR FROM timestamp_column) AS hour FROM table_name;

timestamp_column 是我们想要提取小时信息的时间戳列,table_name 是表的名称。

5. 提取分钟
SELECT EXTRACT(MINUTE FROM timestamp_column) AS minute FROM table_name;

类似地,这将从时间戳列中提取每个行的分钟信息。table_name 是表的名称。

6. 提取秒
SELECT EXTRACT(SECOND FROM timestamp_column) AS second FROM table_name;

这将从时间戳列中提取每个行的秒信息。table_name 是表的名称。

7. 提取日期
SELECT date_trunc('day', timestamp_column) AS date FROM table_name;

这将从时间戳列中提取日期信息。table_name 是表的名称。

我们可以通过在第一个参数中传递不同的单位来提取不同的日期精度。

上述代码将返回 table_name 表中每个行的日期信息。

8. 提取周
SELECT date_trunc('week', timestamp_column) AS week FROM table_name;

这将从时间戳列中提取周信息。table_name 是表的名称。

9. 提取月份的第一天
SELECT date_trunc('month', timestamp_column) AS first_day_of_month FROM table_name;

这将从时间戳列中提取月份的第一天信息。table_name 是表的名称。

10. 提取年份的第一天
SELECT date_trunc('year', timestamp_column) AS first_day_of_year FROM table_name;

这将从时间戳列中提取年份的第一天信息。table_name 是表的名称。

通过上述函数和关键字,我们可以从日期和时间戳列中提取我们所需的信息。这些信息可以在 Postgres 中进行后续处理,例如聚合、过滤等。