В этом учебном пособии вы узнаете, как использовать MySQL функцию DATE_ADD с синтаксисом и примерами.
Описание
MySQL функция DATE_ADD возвращает дату, после которой был добавлен определенный интервал даты/времени.
Синтаксис
Синтаксис MySQL функции DATE_ADD:
DATE_ADD( date, INTERVAL value unit )
Параметры или аргументы
date - дата, к которой должен быть добавлен интервал.
value - значение интервала времени / даты, который вы хотите добавить. Вы можете указать положительные и отрицательные значения для этого параметра.
unit - единичный тип интервала, например DAY, MONTH, MINUTE, HOUR и т.д. Это может быть один из следующих вариантов:
unit | Версия MqSQL | Совместимость |
---|---|---|
MICROSECOND | 4.1.1 | |
SECOND | 3.2.3 | |
MINUTE | 3.2.3 | |
HOUR | 3.2.3 | |
DAY | 3.2.3 | |
WEEK | 5 | |
MONTH | 3.2.3 | |
QUARTER | 5 | |
YEAR | 3.2.3 | |
SECOND_MICROSECOND | 4.1.1 | |
MINUTE_MICROSECOND | 4.1.1 | |
MINUTE_SECOND | 4.1.1 | |
HOUR_MICROSECOND | 4.1.1 | |
HOUR_SECOND | 4.1.1 | |
HOUR_MINUTE | 3.2.3 | |
DAY_MICROSECOND | 4.1.1 | |
DAY_SECOND | 3.2.3 | |
DAY_MINUTE | 3.2.3 | |
DAY_HOUR | 3.2.3 | |
YEAR_MONTH | 3.2.3 |
Примечание
- Если вы укажете значение интервала, которое слишком короткое для указанного вами unit, функция DATE_ADD будет считать, что крайняя левая часть значения интервала не была предоставлена.
- Использование функции DATE_ADD с отрицательным значением в качестве параметра эквивалентно использованию функции DATE_SUB.
- См. также функции ADDDATE, SUBDATE, ADDTIME и SUBTIME.
Применение
Функция DATE_ADD может использоваться в следующих версиях MySQL:
- MySQL 5.7, MySQL 5.6, MySQL 5.5, MySQL 5.1, MySQL 5.0, MySQL 4.1, MySQL 4.0, MySQL 3.23
Пример
Рассмотрим примеры MySQL функции DATE_ADD, чтобы понять, как использовать функцию DATE_ADD в MySQL.
Например:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
mysql> SELECT DATE_ADD('2014-11-02 08:44:21.000001', INTERVAL 4 MICROSECOND); #Результат: 2014-11-02 08:44:21.000005 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL -20 SECOND); #Результат: 2014-11-02 08:44:01 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL 25 MINUTE); #Результат: 2014-11-02 09:09:21 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL -2 HOUR); #Результат: 2014-11-02 06:44:21 mysql> SELECT DATE_ADD('2014-11-02', INTERVAL 10 DAY); #Результат: 2014-11-12 mysql> SELECT DATE_ADD('2014-11-02', 10); #Результат: 2014-11-12 mysql> SELECT DATE_ADD('2014-11-02', INTERVAL 12 WEEK); #Результат: 2015-01-25 mysql> SELECT DATE_ADD('2014-11-02', INTERVAL -3 MONTH); #Результат: 2014-08-02 mysql> SELECT DATE_ADD('2014-11-02', INTERVAL 3 QUARTER); #Результат: 2015-08-02 mysql> SELECT DATE_ADD('2014-11-02', INTERVAL 5 YEAR); #Результат: 2019-11-02 mysql> SELECT DATE_ADD('2014-11-02 08:44:21.000001', INTERVAL '12.000001' SECOND_MICROSECOND); #Результат: 2014-11-02 08:44:33.000002 mysql> SELECT DATE_ADD('2014-11-02 08:44:21.000001', INTERVAL '3:12.000001' MINUTE_MICROSECOND); #Результат: 2014-11-02 08:47:33.000002 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL '3:12' MINUTE_SECOND); #Результат: 2014-11-02 08:47:33 mysql> SELECT DATE_ADD('2014-11-02 08:44:21.000001', INTERVAL '1:03:12.000001' HOUR_MICROSECOND); #Результат: 2014-11-02 09:47:33.000002 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL '1:03:12' HOUR_SECOND); #Результат: 2014-11-02 09:47:33 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL '1:03' HOUR_MINUTE); #Результат: 2014-11-02 09:47:21 mysql> SELECT DATE_ADD('2014-11-02 08:44:21.000001', INTERVAL '7 1:03:12.000001'DAY_MICROSECOND); #Результат: 2014-11-09 09:47:33.000002 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL '7 1:03:12' DAY_SECOND); #Результат: 2014-11-09 09:47:33 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL '7 1:03' DAY_MINUTE); #Результат: 2014-11-09 09:47:21 mysql> SELECT DATE_ADD('2014-11-02 08:44:21', INTERVAL '7 1' DAY_HOUR); #Результат: 2014-11-09 09:44:21 mysql> SELECT DATE_ADD('2014-11-02', INTERVAL '5-3' YEAR_MONTH); #Результат: 2020-02-02 |