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-программист с нуля
Стань разработчиком на одном из самых популярных языков программирования.
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Гипервизор - это программное обеспечение для виртуализации, используемое для создания и запуска виртуальных машин (ВМ). Гипервиз
img
Виртуализация серверов позволяет запускать несколько виртуальных машин на одном физическом сервере. Запуск виртуальных машин (ВМ
img
Сегодня мы рассмотрим, как настроить и использовать PHP в проекте. Но прежде чем начать, нужно понять, что такое PHP. Что такое
img
Как разработчик, вы знаете, что HTML расшифровывается как HyperText Markup Language (язык разметки гипертекста). HTML — это язык
img
Бесконечные споры вокруг искусственного интеллекта приводят к путанице. Существует много терминов, которые кажутся похожими, но
img
SVG расшифровывается как масштабируемая векторная графика. Это веб-дружелюбный векторный формат файлов, используемый для отображ
Комментарии
ОСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59