Описание функции ADDDATE в MySQL (с типами временных интервалов)

Функция ADDDATE возвращает переданное в нее время определяемое первым параметром, с добавленным временным интервалом, который определяется вторым параметром.

Синтаксис:
ADDDATE(date, INTERVAL expr type)

У функции ADDDATE() существует синоним DATE_ADD().

Второй параметр в функции начинается ключевым словом INTERVAL, после которого следует значение и тип
этого значения.

Функция, также, допускает использование и отрицательных значений, при этом период не прибавляется а отнимается.

! Есть упрощённый формат записи функции ADDDATE(date,days) — где days — дни.

Пример использования функции:
mysql> select adddate('2017-03-29', interval 15 day);
+----------------------------------------+
| adddate('2017-03-29', interval 15 day) |
+----------------------------------------+
| 2017-04-13                             |
+----------------------------------------+


В качестве интервала (INTERVAL) могут быть использованы следующие типы:

MICROSECOND — Микросекунды
Формат: xxxxxx

SECOND — Секунды
Формат: ss

MINUTE — Минуты
Формат: mm

HOUR — Часы
Формат: hh

DAY — Дни
Формат: DD

WEEK — Недели
Формат: WW

MONTH — Месяцы
Формат: MM

QUATER — Кварталы
Формат: QQ

YEAR — Год
Формат: YY

SECOND_MICROSECOND — Секунды и микросекунды
Формат: 'ss.xxxxxx'

MINUTE_MICROSECOND — Минуты, секунды и микросекунды
Формат: 'mm:ss.xxxxxx'

MINUTE_SECOND — Минуты и секунды
Формат: 'mm:ss'

HOUR_MICROSECOND — Часы, минуты, секунды и микросекунды
Формат: 'hh:mm:ss.xxxxxx'

HOUR_SECOND — Часы, минуты и секунды
Формат: 'hh:mm:ss'

HOUR_MINUTE — Часы и минуты
Формат: 'hh:mm'

DAY_MICROSECOND — Дни, часы, минуты, секунды и микросекунды
Формат: 'DD hh:mm:ss.xxxxxx'

DAY_SECOND — Дни, часы, минуты и секунды
Формат: 'DD hh:mm:ss'

DAY_MINUTE — Дни, часы и минуты
Формат: 'DD hh:mm'

DAY_HOUR — Дни и часы
Формат: 'DD hh'

YEAR_MONTH — Года и месяцы
Формат: 'YY-MM'

Примеры:

Пример использования ADDDATE с добавлением миллисекунд (MICROSECOND):
mysql> select adddate('2017-03-29', interval 15 microsecond);
+------------------------------------------------+
| adddate('2017-03-29', interval 15 microsecond) |
+------------------------------------------------+
| 2017-03-29 00:00:00.000015                     |
+------------------------------------------------+


Пример ADDDATE с использованием типа (MINUTE_MICROSECOND):
mysql> select adddate('2017-03-29', interval '29:10.25' minute_microsecond);
+---------------------------------------------------------------+
| adddate('2017-03-29', interval '29:10.25' minute_microsecond) |
+---------------------------------------------------------------+
| 2017-03-29 00:29:10.250000                                    |
+---------------------------------------------------------------+


Пример ADDDATE с использованием типа (WEEK):
mysql> select adddate('2017-03-29', interval 34 week);
+-----------------------------------------+
| adddate('2017-03-29', interval 34 week) |
+-----------------------------------------+
| 2017-11-22                              |
+-----------------------------------------+


Пример использования упрощенного варианта функции с отрицательным значением:
mysql> select adddate('2017-03-29', -12);
+----------------------------+
| adddate('2017-03-29', -12) |
+----------------------------+
| 2017-03-17                 |
+----------------------------+


Вот и всё!

Вопросы и комментарии приветствуются.

0 комментариев

Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.