MySQL ADDDATE()实例讲解

时间:2022-04-07
本文章向大家介绍MySQL ADDDATE()实例讲解,主要分析其语法、参数、返回值和注意事项,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

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

用法:

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

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

  • date:我们要修改的给定日期。
  • days :我们要添加到给定日期的天数。
  • expr:日期或日期时间表达式或数字。可以以下格式给出-
    • MICROSECONDS
    • SECONDS
    • MINUTES
    • HOURS
    • DAYS
    • WEEKS
    • MONTHS
    • QUARTERS
    • YEARS
    • “ SECONDS.MICROSECONDS”
    • ‘MINUTES:SECONDS.MICROSECONDS’
    • ‘MINUTES:SECONDS
    • “小时:分钟:SECONDS.MICROSECONDS”
    • “小时:分钟:秒”
    • “小时:分钟”
    • ‘DAYS HOURS:MINUTES:SECONDS.MICROSECONDS’
    • ‘DAYS HOURS:MINUTES:SECONDS’
    • “ DAYS HOURS:MINUTES”
    • “ DAYS HOURS”
    • ‘YEARS-MONTHS’
  • Unit:要添加的时间间隔类型。它是给定类型之一-

    • MICROSECOND
    • SECOND
    • MINUTES
    • HOUR
    • DAY
    • WEEK
    • MONTH
    • QUARTER
    • YEAR
    • SECOND_MICROSECOND
    • MINUTE_MICROSECOND
    • MINUTE_SECOND
    • HOUR_MICROSECOND
    • HOUR_SECOND
    • HOUR_MINUTE
    • DAY_MICROSECOND
    • DAY_SECOND
    • DAY_MINUTE
    • DAY_HOUR
    • YEAR_MONTH

返回值:添加间隔后,它将返回日期或DateTime。

示例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:
使用ADDDATE函数以指定的日期时间加上5天10小时05分20秒。

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;

输出:

TRAINID STATIONNAME TRAINNAME SCHEDULEDARRIVALTIME EXPECTEDARRIVALTIME
12859 KGP Gitanjali Express 2020-11-17 10:20:10 2020-11-17 15:25:30