PostgreSQL 获取表中过去三个月的记录
在本文中,我们将介绍如何使用 PostgreSQL 数据库语言来获取表中过去三个月的记录。我们将使用内置的日期函数和运算符进行示例说明。
阅读更多:PostgreSQL 教程
使用日期函数
在 PostgreSQL 中,我们可以使用 CURRENT_DATE
函数获取当前日期。
SELECT CURRENT_DATE;
输出结果类似于:
current_date
--------------------
2022-07-15
(1 row)
为了获取过去三个月的日期,我们可以使用 CURRENT_DATE
函数减去三个月的间隔。
SELECT CURRENT_DATE - INTERVAL '3 months';
输出结果类似于:
?column?
--------------------
2022-04-15
(1 row)
查询过去三个月的记录
下面我们将使用一个示例表格 sales
来演示如何查询过去三个月的记录。
CREATE TABLE sales (
id SERIAL PRIMARY KEY,
product VARCHAR(100),
sale_date DATE
);
INSERT INTO sales (product, sale_date)
VALUES
('A', '2022-04-10'),
('B', '2022-05-15'),
('C', '2022-06-20'),
('D', '2022-07-05'),
('E', '2022-07-10');
首先,我们将查询所有日期晚于过去三个月日期的记录。
SELECT *
FROM sales
WHERE sale_date > CURRENT_DATE - INTERVAL '3 months';
输出结果为:
id | product | sale_date
----+---------+------------
4 | D | 2022-07-05
5 | E | 2022-07-10
(2 rows)
接下来,我们将查询过去三个月内的记录,包括过去三个月的日期。
SELECT *
FROM sales
WHERE sale_date >= CURRENT_DATE - INTERVAL '3 months';
输出结果为:
id | product | sale_date
----+---------+------------
3 | C | 2022-06-20
4 | D | 2022-07-05
5 | E | 2022-07-10
(3 rows)
使用特定日期范围查询
除了使用 CURRENT_DATE
函数和间隔运算符,我们还可以使用 BETWEEN
运算符来查询特定日期范围内的记录。
SELECT *
FROM sales
WHERE sale_date BETWEEN CURRENT_DATE - INTERVAL '3 months' AND CURRENT_DATE;
输出结果与上面的查询结果相同:
id | product | sale_date
----+---------+------------
3 | C | 2022-06-20
4 | D | 2022-07-05
5 | E | 2022-07-10
(3 rows)
总结
本文介绍了如何在 PostgreSQL 数据库中获取过去三个月的记录。我们使用了内置的日期函数和运算符,以及示例表格来演示查询过程。通过使用这些技巧,您可以轻松地从表中获取特定时间范围内的记录。无论是分析数据还是生成报告,这些方法都将为您提供方便和准确的查询功能。祝您在使用 PostgreSQL 数据库时取得成功!