📅  最后修改于: 2023-12-03 15:03:48.837000             🧑  作者: Mango
在 Postgres 中,我们可以使用 date_trunc()
函数以及 EXTRACT
关键字来提取日期中的部分信息。
下面是一些常用的用法:
SELECT EXTRACT(YEAR FROM date_column) AS year FROM table_name;
其中,date_column
是我们想要提取年份的日期列,table_name
是该表的名称。
SELECT EXTRACT(MONTH FROM date_column) AS month FROM table_name;
同样,date_column
是日期列的名称,table_name
是表的名称。这将返回表中每个行的月份信息。
SELECT EXTRACT(DAY FROM date_column) AS day FROM table_name;
这将从日期列中提取每个行的日信息。table_name
是表的名称。
SELECT EXTRACT(HOUR FROM timestamp_column) AS hour FROM table_name;
timestamp_column
是我们想要提取小时信息的时间戳列,table_name
是表的名称。
SELECT EXTRACT(MINUTE FROM timestamp_column) AS minute FROM table_name;
类似地,这将从时间戳列中提取每个行的分钟信息。table_name
是表的名称。
SELECT EXTRACT(SECOND FROM timestamp_column) AS second FROM table_name;
这将从时间戳列中提取每个行的秒信息。table_name
是表的名称。
SELECT date_trunc('day', timestamp_column) AS date FROM table_name;
这将从时间戳列中提取日期信息。table_name
是表的名称。
我们可以通过在第一个参数中传递不同的单位来提取不同的日期精度。
上述代码将返回 table_name
表中每个行的日期信息。
SELECT date_trunc('week', timestamp_column) AS week FROM table_name;
这将从时间戳列中提取周信息。table_name
是表的名称。
SELECT date_trunc('month', timestamp_column) AS first_day_of_month FROM table_name;
这将从时间戳列中提取月份的第一天信息。table_name
是表的名称。
SELECT date_trunc('year', timestamp_column) AS first_day_of_year FROM table_name;
这将从时间戳列中提取年份的第一天信息。table_name
是表的名称。
通过上述函数和关键字,我们可以从日期和时间戳列中提取我们所需的信息。这些信息可以在 Postgres 中进行后续处理,例如聚合、过滤等。