img

Функция DATE в SQL

Время и дата являются неотъемлемой частью любого языка программирования, и SQL — не исключение. Когда вы вводите данные в базу SQL, вы можете добавить к ним дату, а потом запросить базу данных на ее основе. В этой статье мы разберем функцию DATE в SQL и как запрашивать базу данных с помощью дат. 

ADDDATE()

Функция ADDDATE() делает то, что следует из ее названия, — добавляет интервал к дате или времени даты.

Вы можете использовать функцию ADDDATE() в таком формате: ADDDATE(date, INTERVAL value addunit).

  • date — это дата, с которой вы работаете. Для MySQL формат даты - ГГГГ-ММ-ДД и является обязательным.
  • INTERVAL - обязательное ключевое слово
  • value - целое число, представляющее интервал, который вы хотите добавить
  • addunit - то, что должен представлять собой интервал. Это год, месяц, день, часы, минуты, секунды и другие соответствующие единицы измерения.

Например, при выполнении приведенного ниже запроса возвращается значение '2022-10-22'. Это означает, что к '2022-10-12' добавилось 10 дней.

SELECT ADDDATE("2022-10-12", INTERVAL 10 DAY);

При желании вы можете использовать его с месяцем или годом:

CURRENT_DATE()

Функция CURRENT_DATE() показывает именно то, о чем говорит - текущую дату. Она возвращает дату в формате YYYY-MM-DD.

Например, SELECT CURRENT_DATE() возвращает дату, когда я начал писать эту статью:

CURRENT_TIME();

Функция CURRENT_TIME показывает текущее время.

SELECT CURRENT_TIME();

CURRENT_TIMESTAMP();

Функция current timestamp возвращает текущую дату и время. Это комбинация функций CURRENT_DATE() и CURRENT_TIME().

SELECT CURRENT_TIMESTAMP();

NOW()

Функция NOW() возвращает текущую дату и время.

SELECT NOW();

DATE

Вы можете использовать функцию DATE для извлечения части даты из временной метки.

SELECT DATE("2022-11-14 12:00:00");

DATE_SUB

Функция DATE_SUB() вычитает из даты день, месяц или год. В запросе ниже я вычел 10 дней из даты начала написания этой статьи:

SELECT DATE_SUB("2022-11-14", INTERVAL 10 DAY);

DATEDIFF

Функция DATEDIFF() возвращает количество дней между двумя датами.

SELECT DATEDIFF("2023-11-14", "2022-11-14");

DAY

Эта функция возвращает день в пределах указанной даты.

SELECT DAY("2022-11-14");

MONTH

Функция MONTH возвращает месяц в указанной дате.

SELECT MONTH("2022-11-14");

YEAR

Функция YEAR возвращает год в указанной дате.

SELECT YEAR("2022-11-14");

Как запросить базу данных на основе дат

Чтобы показать вам, как запрашивать базу данных по датам, я буду использовать таблицу ниже:

Чтобы выбрать какую-то определенную дату между одной и другой, можно использовать ключевые слова BETWEEN и AND при указании дат.

В приведенном ниже запросе я выбираю все элементы, добавленные в базу данных в 2021 году:

SELECT *
FROM brands
WHERE date_added BETWEEN "2021-01-01" AND "2021-12-31";

Комбинируя функции DATE_SUB() и NOW(), можно получить данные о предметах, добавленных в базу данных за последние 3 месяца:

SELECT *
FROM brands
WHERE date_added > DATE_SUB(NOW(), INTERVAL 3 MONTH);

Заключение

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

Если вы нашли статью полезной, не стесняйтесь поделиться ею с друзьями и близкими.

Ссылка
скопирована
Получите бесплатные уроки на наших курсах
Все курсы
Программирование
Скидка 25%
Python Advanced. Продвинутый курс
Освойте асинхронное и метапрограммирование, изучите аннотацию типов и напишите собственное приложение на FastAPI. Улучшите свои навыки Python, чтобы совершить быстрый рост вашего грейда до уровня middle.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Базы данных — это ключевой компонент современных информационных систем, благодаря которому мы можем информацию храненить (заметь
img
Миллиарды веб-приложений прямо сейчас обмениваются информацией: интернет-магазины подтверждают оплату, сервисы отправляют уведом
img
Если хочешь разобраться в сетях и IP-адресах, то без понимания маски подсети не обойтись. Она помогает определить, какие устройс
img
Каждое приложение проходит разные этапы разработки перед тем как попасть к пользователю. Один из них — деплой (от англ. deploy —
img
В мире разработки есть множество инструментов для хранения данных, и Redis — один из самых популярных. Согласно опросу Stack Ove
img
Если хочешь разобраться в сетях и IP-адресах, то без понимания маски подсети не обойтись. Она помогает определить, какие устройс
ЗИМНИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59