Описание функции 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 |
+----------------------------+
Вот и всё!
Вопросы и комментарии приветствуются.