PostgreSQL 获取表中过去三个月的记录

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 数据库时取得成功!

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程