📜  MySQL 中的 ADDDATE()函数

📅  最后修改于: 2022-05-13 01:54:52.408000             🧑  作者: Mango

MySQL 中的 ADDDATE()函数

MySQL 中的ADDDATE()函数用于将指定的时间间隔添加到给定的日期和时间。添加间隔后返回日期或日期时间。

句法 :

ADDDATE(date, INTERVAL expr unit)
           OR
ADDDATE(expr, days)

参数:此方法接受两个参数。

  • date : 我们要修改的给定日期。
  • days :我们要添加到给定日期的天数。
  • expr :日期或日期时间表达式或数字。它可以按以下格式给出 -
    • 微秒
    • 分钟
    • 小时
    • 季度
    • '秒.微秒'
    • '分钟:秒.微秒'
    • '分钟:秒
    • '小时:分钟:秒。微秒'
    • '小时:分钟:秒'
    • '小时:分钟'
    • '天小时:分钟:秒。微秒'
    • '天小时:分钟:秒'
    • '天小时:分钟'
    • '天数'
    • '年-月'
  • 单位:要添加的间隔类型。它是给定类型之一 -
    • 微秒
    • 第二
    • 分钟
    • 小时
    • 星期
    • 四分之一
    • 秒_微秒
    • MINUTE_MICROSECOND
    • MINUTE_SECOND
    • HOUR_MICROSECOND
    • HOUR_SECOND
    • HOUR_MINUTE
    • DAY_MICROSECOND
    • DAY_SECOND
    • DAY_MINUTE
    • DAY_HOUR
    • YEAR_MONTH

返回:添加间隔后返回日期或日期时间。

示例-1:
使用 ADDDATE 函数添加指定日期的 15 天。

SELECT ADDDATE('2020-08-20', INTERVAL 15 DAY) 
as Updated_date;

输出 :

Updated_date
2020-09-04

示例 2 :
使用 ADDDATE 函数添加指定日期时间的 30 分钟。

SELECT ADDDATE('2020-08-28 20:59:59', INTERVAL 30 MINUTE) 
as Updated_datetime;

输出 :

Updated_datetime
2020-08-28 21:29:59

示例 3 :
使用 ADDDATE 函数在指定日期添加 4 周。

SELECT ADDDATE('2020-08-12', INTERVAL 4 WEEK) 
as Updated_date;

输出 :

Updated_date
2020-09-09

示例 4:
使用 ADDDATE 函数将 6 个月与指定日期相加。

SELECT ADDDATE('2019-08-12', INTERVAL 6 MONTH) 
as Updated_date ;

输出 :

Updated_date
2020-02-12

示例 5:
使用 ADDDATE 函数将 10 年与指定日期相加。

SELECT ADDDATE('2010-12-10', INTERVAL 10 YEAR) 
as Updated_date ;

输出 :

Updated_date
2020-12-10

示例 6 :
添加 5 天 10 小时 05 分 20 秒与指定的日期时间使用 ADDDATE函数。

SELECT ADDDATE('2020-08-20 05:15:19', INTERVAL '5-10-05-20' DAY_SECOND) 
as Updated_datetime;

输出 :

Updated_datetime
2020-08-25 15:20:39

示例 7 :
ADDDATE函数可用于设置列的值。为了演示创建一个名为 ScheduleDetails 的表。

CREATE TABLE ScheduleDetails(
TrainId INT NOT NULL,
StationName VARCHAR(20) NOT NULL,
TrainName VARCHAR(20) NOT NULL,
ScheduledlArrivalTime DATETIME NOT NULL,
PRIMARY KEY(TrainId )
);

现在在 ScheduleDetails 表中插入值。我们将使用 ADDDATE函数,它表示到达时间的延迟。 ExpectedArrivalTime 列中的值将是 ADDDATE 函数给出的值。

INSERT INTO  
ScheduleDetails (TrainId, StationName, TrainName, ScheduledlArrivalTime )
VALUES
(12859, 'KGP', 'Gitanjali Express ', '2020-11-17 10:20:10');

现在,检查 ScheduleDetails 表:

SELECT *, ADDDATE(ScheduledlArrivalTime, INTERVAL '0-5-05-20' DAY_SECOND)  
AS ExpectedArrivalTime FROM ScheduleDetails;

输出 :

TRAINIDSTATIONNAMETRAINNAMESCHEDULEDARRIVALTIMEEXPECTEDARRIVALTIME
12859KGPGitanjali Express2020-11-17 10:20:102020-11-17 15:25:30