Полный цикл в digital

INTERVAL - прибавить / отнять промежуток времени

Команда INTERVAL позволяет прибавлять к дате и отнимать от нее определенные промежутки времени.

Прибавление даты:

SELECT дата + INTERVAL что_прибавить FROM `имя_таблицы`; -- возможно применение операторов

Отнимание даты:

SELECT дата - INTERVAL что_отнять FROM `имя_таблицы`; -- возможно применение операторов

После команды INTERVAL можно указывать определенную часть даты (день, месяц или год и тп), к примеру, так INTERVAL 1 DAY или INTERVAL 3 MONTH, или сразу несколько частей.

В этом случае значения даты берутся в кавычки, пример: давайте прибавим 1 год и 3 месяца - это будет выглядеть так: INTERVAL '1-3' YEAR_MONTH.

Мы указываем, что хотим год и месяц (вот так: YEAR_MONTH), и перед этим в кавычках пишем сначала значение для года, потом значение для месяца. Между ними ставим разделитель (он может быть абсолютно любым).

Смотрите список возможных комбинаций (разделители указаны для примера, они могут быть любыми):

Значение Ожидаемый формат
SECOND секунды
MINUTE минуты
HOUR часы
DAY дни
MONTH месяцы
YEAR года
MINUTE_SECOND "минуты:секунды"
HOUR_MINUTE "часы:минуты"
DAY_HOUR "дни часы"
YEAR_MONTH "года-месяцы"
HOUR_SECOND "часы:минуты:секунды"
DAY_MINUTE "дни часы:минуты"
DAY_SECOND "дни часы:минуты:секунды"

В данном примере к дате прибавляется 1 день:

SELECT *, date + INTERVAL 1 DAY as new_date FROM `workers`;

В данном примере от даты отнимается 1 день:

SELECT *, date - INTERVAL 1 DAY as new_date FROM `workers`;

В данном примере к дате прибавляется 1 год и 2 месяца:

SELECT *, date + INTERVAL "1-2" YEAR_MONTH as new_date FROM `workers`;

В данном примере к дате прибавляется 1 год, 2 месяца и 1 день:

SELECT *, date + INTERVAL 1 YEAR + INTERVAL 2 MONTH + INTERVAL 1 DAY as new_date FROM `workers`;

Запрос можно переписать таким образом:

SELECT *, date + INTERVAL "1 2" YEAR_MONTH + INTERVAL 1 DAY as new_date FROM `workers`;

В данном примере к дате прибавляется 1 год, отнимаются 2 месяца и прибавляется 1 день:

SELECT *, date + INTERVAL 1 YEAR - INTERVAL 2 MONTH + INTERVAL 1 DAY as new_date FROM `workers`;

Разделитель

Разделитель в запросе не имеет значения. Он может быть любым символом:

SELECT *, date + INTERVAL "1:2" YEAR_MONTH as new_date FROM `workers`;

Можно использовать даже несколько символов:

SELECT *, date + INTERVAL "1:::2" YEAR_MONTH as new_date FROM `workers`;

Можно использовать и пробел:

SELECT *, date + INTERVAL "1 2" YEAR_MONTH as new_date FROM `workers`;
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг