От автора code.mu: РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
106 of 150 menu

Функция DATE_SUB (SUBDATE)

Функция DATE_SUB (она же SUBDATE) отнимает от даты определенный промежуток времени. Промежуток времени, который нужно отнять, задается в том же формате, что и для команды INTERVAL (смотрите ее для лучшего понимания).

Синтаксис

SELECT DATE_SUB(date_field, INTERVAL value unit) FROM table_name WHERE condition

Таблицы для примеров

employees
id name date
1 user1 2010-03-01 12:01:02
2 user2 2011-04-02 13:02:03
3 user3 2012-05-03 14:03:04

Пример

Давайте вычтем из даты 1 день:

SELECT *, DATE_SUB(date, INTERVAL 1 DAY) AS new_date FROM employees

Результат выполнения SQL запроса:

id name date new_date
1 user1 2010-03-01 12:01:02 2010-02-28 12:01:02
2 user2 2011-04-02 13:02:03 2011-04-01 13:02:03
3 user3 2012-05-03 14:03:04 2012-05-02 14:03:04

Пример

Давайте вычтем из даты 3 дня, а также 3 часа и 30 минут:

SELECT *, DATE_SUB(date, INTERVAL 3 DAY + INTERVAL 3 HOUR + INTERVAL 30 MINUTE) AS new_date FROM employees

Результат выполнения SQL запроса:

id name date new_date
1 user1 2010-03-01 12:01:02 2010-02-26 08:31:02
2 user2 2011-04-02 13:02:03 2011-03-30 09:32:03
3 user3 2012-05-03 14:03:04 2012-04-30 10:33:04

Смотрите также

  • функцию DATE_ADD,
    с помощью которой можно прибавлять даты
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить