使用 Date_ADD() 函数在 MySQL 中添加日期和时间
本文介绍如何使用 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 等。
相关文章
如何在 MySQL 中声明和使用变量
发布时间:2024/03/26 浏览次数:115 分类:MySQL
-
当你需要在 MySQL 中的脚本中存储单个值时,最好的方法是使用变量。变量有不同的种类,有必要知道何时以及如何使用每种类型。
在 MySQL 中使用 Mysqladmin 刷新主机解除阻塞
发布时间:2024/03/26 浏览次数:82 分类:MySQL
-
你将了解阻止主机的原因。此外,通过使用 phpMyAdmin 和命令提示符刷新主机缓存来解除阻塞的不同方法和效果。