迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 数据库 > MySQL >

使用 Date_ADD() 函数在 MySQL 中添加日期和时间

作者:迹忆客 最近更新:2023/05/06 浏览次数:

本文介绍如何使用 DATE_ADD() 函数在 MySQL 中添加日期和时间。 我们将学习如何单独添加或减少天、年、月和时间,以及如何将两者结合起来(例如,天和小时)。


MySQL 中的 DATE_ADD() 方法

我们可以使用 DATE_ADD() 方法为 DATETIME 或 DATE 类型的值添加一个时间间隔。 它接受两个参数。

第一个参数是 start_date,这是一个开始日期。 它可以是 DATE/DATETIME 类型。

第二个参数是INTERVAL表达式单元,是需要加上start_date指定值的区间值。 您可以找到我们可以使用此方法的单位列表。

如果第一个参数是 DATETIME 或间隔值包含时间元素(小时、分钟或秒),则返回 DATETIME 值; 否则,它返回一个字符串。


在 MySQL 中创建表并插入数据

要学习 DATE_ADD() 方法,让我们创建一个名为 trips 的表,该表具有 id、country_name 和 startDate 列,其中 startDate 是 DATETIME 类型。 您还可以创建一个行程表并填充下面给出的一些随机数据以进行后续操作。

CREATE TABLE trips(
  id INT NOT NULL AUTO_INCREMENT,
  country_name VARCHAR(45) NOT NULL,
  startDate DATETIME NOT NULL,
  PRIMARY KEY (id));

INSERT INTO trips (country_name, startDate) VALUES
('Pakistan', '2019-01-27 01:23:34'),
('USA', '2019-02-22 12:34:05'),
('Turkey', '2020-05-14 08:03:02'),
('India', '2020-01-21 11:20:04');

SELECT * FROM trips;

输出:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-27 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-14 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

使用 DATE_ADD() 函数在 MySQL 中添加天数

在 id 为 3 的 trips 表的 startDate 中添加 2 天。

示例代码:

UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 2 DAY)
WHERE id = 3;

输出:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-27 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

我们还可以按如下方式减去天数。

示例代码:

UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL -2 DAY)
WHERE id = 1;

输出:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2019-01-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

使用 DATE_ADD() 函数在 MySQL 中添加月份和年份

像天一样,我们也可以加上年和月。 要减去一些年份或月份,请编写一个带有减号 (-ve) 的表达式。

示例代码:

#add month
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 MONTH)
WHERE id = 1;

#add year
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 YEAR)
WHERE id = 1;

输出:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 11:20:04 |

使用 DATE_ADD() 函数在 MySQL 中添加小时、分钟和秒

在 id 为 4 的 trips 表的 startDate 中添加 1 小时、分钟和秒。

示例代码:

#add hours
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 HOUR)
WHERE id = 4;

#add minutes
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 MINUTE)
WHERE id = 4;

#add seconds
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL 1 SECOND)
WHERE id = 4;

输出:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 08:03:02 |
| 4    | India        | 2020-01-21 12:21:05 |

使用 DATE_ADD() 函数在 MySQL 中添加或减去日期和时间

在 id 为 3 的 trips 表的 startDate 中添加 2 小时 2 分钟。

#add hours and minutes
UPDATE trips
SET startDate = DATE_ADD(startDate , INTERVAL '2:2' HOUR_MINUTE)
WHERE id = 3;

输出:

| id   | country_name | startDate           |
| ---- | ------------ | ------------------- |
| 1    | Pakistan     | 2020-02-25 01:23:34 |
| 2    | USA          | 2019-02-22 12:34:05 |
| 3    | Turkey       | 2020-05-16 10:05:02 |
| 4    | India        | 2020-01-21 12:21:05 |

同样,我们可以使用 DAY_HOUR、YEAR_MONTH 等。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

使用 Mysqldump 备份 MySQL 中的数据

发布时间:2023/05/09 浏览次数:192 分类:MySQL

本篇文章将介绍如何使用 mysqldump 只备份数据。 在这里,我们将探讨 --no-create-info 、--compact 、--skip-triggers 和 --no-create-db 选项。

更新 MySQL 表中的主键

发布时间:2023/05/09 浏览次数:61 分类:MySQL

本篇文章介绍如何更新 MySQL 表中的主键。 我们将使用 ALTER 命令对主键进行任何更改。更新 MySQL 表中的主键 我们可以在多种情况下更新 MySQL 表中的主键。

在 MySQL 中获取命令历史记录

发布时间:2023/05/09 浏览次数:150 分类:MySQL

本文重点介绍了在 Windows 和 Linux 中获取我们已执行的 MySQL 命令历史记录的各种方法。MySQL命令历史

Oracle 的 decode 函数在 MySQL 中的等价物

发布时间:2023/05/09 浏览次数:115 分类:MySQL

本篇文章介绍了三种替代实现,我们可以将它们用作 MySQL 中 Oracle 的 decode() 函数的等价物。 为此,我们将使用 IF()、CASE 以及 FIELD() 和 ELT() 的组合。

在 Linux 中安装 MySQL 客户端

发布时间:2023/05/09 浏览次数:72 分类:MySQL

在 Linux 中安装 MySQL 客户端的命令。Linux 和 Unix 等环境作为命令行界面工作,仅在命令的帮助下运行。

在 MySQL 中转换为十进制

发布时间:2023/05/09 浏览次数:150 分类:MySQL

有时,我们可能需要将一种数据类型转换为另一种数据类型。 下面是我们如何使用带有 DECIMAL(M,D) 的 CAST() 和 CONVERT() 函数在 MySQL 中转换为十进制。

在 MySQL 中获取当前日期和时间

发布时间:2023/05/09 浏览次数:145 分类:MySQL

本篇文章我们将学习 NOW()、CURRENT_TIMESTAMP()(也写为 CURRENT_TIMESTAMP)和 SYSDATE() 来获取 MySQL 中的当前日期和时间。 我们还将看到这三个功能之间的比较。在 MySQL 中获取当前日期和时间

更改 MySQL 服务器中的 max_allowed_packet Size

发布时间:2023/05/09 浏览次数:142 分类:MySQL

本篇文章介绍如何更改 MySQL 服务器中的 max_allowed_packet 大小。 为了了解这一点,我们将使用两个操作系统,Windows 10 和 Linux (Ubuntu)。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便