Mysql获取每月最后一天

Mysql获取每月最后一天

Mysql获取每月最后一天

介绍

在MySQL中,有时候我们需要获取每个月的最后一天。例如,我们需要统计每个月的销售数据或者计算每个月的工资发放日期等。本文将详细介绍如何使用MySQL来获取每个月的最后一天。

方法一:使用MONTH函数和LAST_DAY函数

最常用和简单的方法是使用MySQL的MONTH函数和LAST_DAY函数来获得每个月的最后一天。

SELECT LAST_DAY('2019-01-01');

上面的代码将返回2019-01-31,即2019年1月的最后一天。

我们可以使用MONTH函数和LAST_DAY函数的组合来获取当前日期的月份的最后一天:

SELECT LAST_DAY(CURRENT_DATE());

该代码将返回当前日期所在月份的最后一天。

当然,你也可以在WHERE子句中使用这个方法,来过滤出指定月份的数据:

SELECT * FROM sales WHERE date_column <= LAST_DAY('2021-12-01');

该代码将返回2021年12月之前的销售数据。

方法二:使用DATE_ADD函数和DATE_SUB函数

除了使用MONTH函数和LAST_DAY函数,我们还可以使用DATE_ADD函数和DATE_SUB函数来获取每个月的最后一天。

SELECT DATE_SUB(DATE_ADD('2020-01-01', INTERVAL 1 MONTH), INTERVAL 1 DAY);

上述代码将返回2020-01-31,即2020年1月的最后一天。

同样地,我们可以使用DATE_ADD函数和DATE_SUB函数的组合来获取当前日期所在月份的最后一天:

SELECT DATE_SUB(DATE_ADD(CURRENT_DATE(), INTERVAL 1 MONTH), INTERVAL 1 DAY);

该代码将返回当前日期所在月份的最后一天。

示例

为了更好地理解如何使用上述方法获取每月的最后一天,我们来做一个示例。假设我们有一个名为sales的表,该表包含以下字段:

  • id: 销售记录的唯一ID
  • product: 销售的产品名
  • sale_date: 销售日期

我们将使用上述方法来获取2021年每个月的最后一天的销售数据。

创建示例数据

首先,我们需要创建一个名为sales的表,并插入一些示例数据:

CREATE TABLE sales (
  id INT PRIMARY KEY AUTO_INCREMENT,
  product VARCHAR(50) NOT NULL,
  sale_date DATE NOT NULL
);

INSERT INTO sales (product, sale_date) VALUES
('Product A', '2021-01-05'),
('Product B', '2021-01-15'),
('Product C', '2021-02-10'),
('Product D', '2021-02-25'),
('Product E', '2021-03-05'),
('Product F', '2021-03-20'),
('Product G', '2021-04-08'),
('Product H', '2021-04-20'),
('Product I', '2021-05-05'),
('Product J', '2021-05-15');

查询每个月的最后一天的销售数据

接下来,我们使用上述方法来查询2021年每个月的最后一天的销售数据:

SELECT * FROM sales WHERE sale_date <= LAST_DAY('2021-01-01');
SELECT * FROM sales WHERE sale_date <= LAST_DAY('2021-02-01');
SELECT * FROM sales WHERE sale_date <= LAST_DAY('2021-03-01');
SELECT * FROM sales WHERE sale_date <= LAST_DAY('2021-04-01');
SELECT * FROM sales WHERE sale_date <= LAST_DAY('2021-05-01');

以上代码将返回每个月的最后一天之前的销售数据。

结论

通过使用MySQL的MONTH函数、LAST_DAY函数以及DATE_ADD函数和DATE_SUB函数,我们可以轻松地获取每个月的最后一天。这些方法可以用于各种场景,比如统计每个月的数据、计算每月的工资发放日期等。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程