Время и дата являются неотъемлемой частью любого языка программирования, и SQL — не исключение. Когда вы вводите данные в базу SQL, вы можете добавить к ним дату, а потом запросить базу данных на ее основе. В этой статье мы разберем функцию DATE в SQL и как запрашивать базу данных с помощью дат.
ADDDATE()
Функция ADDDATE() делает то, что следует из ее названия, — добавляет интервал к дате или времени даты.
Вы можете использовать функцию ADDDATE() в таком формате: ADDDATE(date, INTERVAL value addunit).
- date — это дата, с которой вы работаете. Для MySQL формат даты - ГГГГ-ММ-ДД и является обязательным.
- INTERVAL - обязательное ключевое слово
- value - целое число, представляющее интервал, который вы хотите добавить
- addunit - то, что должен представлять собой интервал. Это год, месяц, день, часы, минуты, секунды и другие соответствующие единицы измерения.
Например, при выполнении приведенного ниже запроса возвращается значение '2022-10-22'. Это означает, что к '2022-10-12' добавилось 10 дней.
|
При желании вы можете использовать его с месяцем или годом:
CURRENT_DATE()
Функция CURRENT_DATE() показывает именно то, о чем говорит - текущую дату. Она возвращает дату в формате YYYY-MM-DD.
Например, SELECT CURRENT_DATE() возвращает дату, когда я начал писать эту статью:
CURRENT_TIME();
Функция CURRENT_TIME показывает текущее время.
|
CURRENT_TIMESTAMP();
Функция current timestamp возвращает текущую дату и время. Это комбинация функций CURRENT_DATE() и CURRENT_TIME().
|
NOW()
Функция NOW() возвращает текущую дату и время.
|
DATE
Вы можете использовать функцию DATE для извлечения части даты из временной метки.
|
DATE_SUB
Функция DATE_SUB() вычитает из даты день, месяц или год. В запросе ниже я вычел 10 дней из даты начала написания этой статьи:
|
DATEDIFF
Функция DATEDIFF() возвращает количество дней между двумя датами.
|
DAY
Эта функция возвращает день в пределах указанной даты.
|
MONTH
Функция MONTH возвращает месяц в указанной дате.
|
YEAR
Функция YEAR возвращает год в указанной дате.
|
Как запросить базу данных на основе дат
Чтобы показать вам, как запрашивать базу данных по датам, я буду использовать таблицу ниже:
Чтобы выбрать какую-то определенную дату между одной и другой, можно использовать ключевые слова BETWEEN и AND при указании дат.
В приведенном ниже запросе я выбираю все элементы, добавленные в базу данных в 2021 году:
|
Комбинируя функции DATE_SUB() и NOW(), можно получить данные о предметах, добавленных в базу данных за последние 3 месяца:
|
Заключение
В этой статье вы узнали о некоторых важных функциях, которые можно использовать для работы с датами и запросами к базе данных в SQL.
Если вы нашли статью полезной, не стесняйтесь поделиться ею с друзьями и близкими.