MySQL如何在日期中添加天数

MySQL如何在日期中添加天数

在MySQL中,对日期进行加减运算非常方便,可以直接使用内置的DATE_ADD和DATE_SUB函数。这两个函数的语法如下:

DATE_ADD(date, INTERVAL value unit);
DATE_SUB(date, INTERVAL value unit);
Mysql

其中,date参数表示要进行计算的日期,value参数表示要添加或减少的数值,unit参数表示数值的单位,常见的有YEAR、MONTH、DAY等等。

例如:

SELECT DATE_ADD('2022-01-01', INTERVAL 5 DAY);
Mysql

这条SQL语句的意思是,在日期’2022-01-01’基础上加上5天,得到的结果是’2022-01-06’。

接下来,让我们实际操作一下。假设有一个表记录了员工的入职时间和姓名:

CREATE TABLE employee (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    entry_date DATE NOT NULL
);

INSERT INTO employee (name, entry_date) VALUES
('Alice', '2021-06-01'),
('Bob', '2021-07-01'),
('Charlie', '2021-08-01');
Mysql

现在,我们想在entry_date上添加10天,并统计结果:

SELECT name, entry_date, DATE_ADD(entry_date, INTERVAL 10 DAY) AS new_entry_date
FROM employee;
Mysql

执行上述SQL语句,得到如下结果:

+---------+------------+-----------------+
| name    | entry_date | new_entry_date  |
+---------+------------+-----------------+
| Alice   | 2021-06-01 | 2021-06-11      |
| Bob     | 2021-07-01 | 2021-07-11      |
| Charlie | 2021-08-01 | 2021-08-11      |
+---------+------------+-----------------+
Mysql

可以看到,成功在entry_date上添加了10天,并得到了新的日期。

如果想要减少天数,则可以使用DATE_SUB函数。例如,假设我们要在entry_date上减少15天:

SELECT name, entry_date, DATE_SUB(entry_date, INTERVAL 15 DAY) AS new_entry_date
FROM employee;
Mysql

执行上述SQL语句,得到如下结果:

+---------+------------+-----------------+
| name    | entry_date | new_entry_date  |
+---------+------------+-----------------+
| Alice   | 2021-06-01 | 2021-05-17      |
| Bob     | 2021-07-01 | 2021-06-16      |
| Charlie | 2021-08-01 | 2021-07-17      |
+---------+------------+-----------------+
Mysql

阅读更多:MySQL 教程

总结

通过使用MySQL内置的DATE_ADD和DATE_SUB函数,可以方便地在日期中添加或减少天数。无论是在个人开发中,还是在企业应用中,这些函数都是非常实用的工具。掌握它们,可以让我们更轻松地处理日期类型的数据。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程