Функция ADDDATE () в MySQL

Опубликовано: 9 Августа, 2021

Функция ADDDATE () в MySQL используется для добавления заданных интервалов к заданной дате и времени. Он возвращает дату или DateTime после добавления интервала.

Синтаксис:

ДОБАВИТЬ (дата; ИНТЕРВАЛЬНАЯ единица выражения)
           ИЛИ ЖЕ
ДОБАВИТЬ (выражение, дни)

Параметр: этот метод принимает два параметра.

  • date : указанная дата, которую мы хотим изменить.
  • days : количество дней, которое мы хотим добавить к заданной дате.
  • expr: дата или выражение datetime или число. Его можно указать в следующем формате -
    • МИКРОСЕКУНД
    • СЕКУНДЫ
    • МИНУТЫ
    • ЧАСЫ
    • ДНЕЙ
    • НЕДЕЛИ
    • МЕСЯЦЫ
    • КВАРТАЛЫ
    • ГОДЫ
    • "СЕКУНДЫ. МИКРОСЕСКУНДЫ"
    • "МИНУТЫ: СЕКУНДЫ. МИКРОСЕКУНДЫ"
    • МИНУТЫ: СЕКУНДЫ
    • "ЧАСЫ: МИНУТЫ: СЕКУНДЫ. МИКРОСЕКУДЫ"
    • "ЧАСЫ: МИНУТЫ: СЕКУНДЫ"
    • "ЧАСЫ: МИНУТЫ"
    • "ДНИ ЧАСЫ: МИНУТЫ: СЕКУНДЫ. МИКРОСЕКУНДЫ"
    • "ДНИ ЧАСЫ: МИНУТЫ: СЕКУНДЫ"
    • "ДНИ ЧАСЫ: МИНУТЫ"
    • "ДНИ ЧАСЫ"
    • "ГОДЫ-МЕСЯЦЫ"
  • Единица: тип добавляемого интервала. Это один из данного типа -

    • МИКРОСЕКУНДА
    • ВТОРОЙ
    • МИНУТЫ
    • ЧАС
    • ДЕНЬ
    • НЕДЕЛЯ
    • МЕСЯЦ
    • ЧЕТВЕРТЬ
    • ГОД
    • SECOND_MICROSECOND
    • MINUTE_MICROSECOND
    • MINUTE_SECOND
    • HOUR_MICROSECOND
    • HOUR_SECOND
    • HOUR_MINUTE
    • DAY_MICROSECOND
    • DAY_SECOND
    • DAY_MINUTE
    • DAY_HOUR
    • ГОД МЕСЯЦ

Returns: возвращает дату или DateTime после добавления интервала.

Пример-1:
Добавление 15 дней с указанной датой с помощью функции ADDDATE.

ВЫБРАТЬ ДОБАВИТЬ ('2020-08-20', ИНТЕРВАЛ 15 ДНЕЙ) 
как Updated_date;

Выход :

Обновлено_дата
2020-09-04

Пример-2:
Добавление 30 минут с указанным datetime с помощью функции ADDDATE.

ВЫБРАТЬ ДОБАВИТЬ ('2020-08-28 20:59:59', ИНТЕРВАЛ 30 МИНУТ) 
как Updated_datetime;

Выход :

Updated_datetime
2020-08-28 21:29:59

Пример-3:
Добавление 4 недель с указанной датой с помощью функции ADDDATE.

ВЫБРАТЬ ДОБАВИТЬ ('2020-08-12', ИНТЕРВАЛ 4 НЕДЕЛИ) 
как Updated_date;

Выход :

Обновлено_дата
2020-09-09

Пример-4:
Добавление 6 месяцев с указанной датой с помощью функции ДОБАВИТЬ.

ВЫБРАТЬ ДОБАВИТЬ ('2019-08-12', ИНТЕРВАЛ 6 МЕСЯЦЕВ) 
как Updated_date;

Выход :

Обновлено_дата
2020-02-12

Пример-5:
Добавление 10 лет к указанной дате с помощью функции ADDDATE.

ВЫБРАТЬ ДОБАВИТЬ ('2010-12-10', ИНТЕРВАЛ 10 ГОД) 
как Updated_date;

Выход :

Обновлено_дата
2020-12-10

Пример-6:
Добавление 5 дней 10 часов 05 минут 20 секунд с указанным datetime с помощью функции ADDDATE.

ВЫБРАТЬ ДОБАВИТЬ ('2020-08-20 05:15:19', ИНТЕРВАЛ '5-10-05-20' ДЕНЬ_СЕКУНДА) 
как Updated_datetime;

Выход :

Updated_datetime
2020-08-25 15:20:39

Пример-7:
Функцию ДОБАВИТЬ можно использовать для установки значений столбцов. Чтобы продемонстрировать создание таблицы с именем ScheduleDetails.

СОЗДАТЬ ТАБЛИЦУ ScheduleDetails (
TrainId INT NOT NULL,
StationName VARCHAR (20) NOT NULL,
TrainName VARCHAR (20) NOT NULL,
ScheduledlArrivalTime DATETIME NOT NULL,
ПЕРВИЧНЫЙ КЛЮЧ (TrainId)
);

Теперь вставляем значения в таблицу ScheduleDetails. Мы будем использовать функцию ADDDATE, которая будет обозначать задержку во времени прибытия. Значение в столбце ExpectedArrivalTime будет значением, заданным функцией ADDDATE.

ВСТАВИТЬ В  
ScheduleDetails (TrainId, StationName, TrainName, ScheduledlArrivalTime)
ЗНАЧЕНИЯ
(12859, 'KGP', 'Gitanjali Express', '2020-11-17 10:20:10');

Теперь проверим таблицу ScheduleDetails:

 ВЫБРАТЬ *, ДОБАВИТЬ (ScheduledlArrivalTime, ИНТЕРВАЛ '0-5-05-20' ДЕНЬ_СЕКОНД)  
AS ExpectedArrivalTime FROM ScheduleDetails;

Выход :

ТРЕНИД НАЗВАНИЕ СТАНЦИИ НАЗВАНИЕ ПОЕЗДА РАСПИСАНИЕ ПРИБЫТИЯ ОЖИДАЕМЫЕ ВРЕМЯ ПРИБЫТИЯ
12859 КГП Гитанджали Экспресс 2020-11-17 10:20:10 2020-11-17 15:25:30