Выбор строк из диапазона дат в MySQL

Опять что-то с памятью моей 🙂

Очередная заметка о том какой послать SQL запрос для выборки записей с нужной датой или промежутком дат.

Выбрать записи с сегодняшней датой

SELECT * FROM name_table WHERE  DATE(date_column) = DATE(NOW());

где:
name_table — имя таблицы над которой производим операцию выборки;
date_column — колонка с датой.

DATE() — вернет дату без времени.
NOW() — возвращает текущую дату и время (мы используем сочетание DATE(NOW()) для удаления времени).

Выбрать записи с промежутком

SELECT * FROM name_table WHERE DATE(date_column) BETWEEN DATE(NOW()) AND DATE_ADD(DATE(NOW()), INTERVAL 7 DAY);

где:
name_table — имя таблицы над которой производим операцию выборки;
date_column — колонка с датой.

В данном примере мы выбираем записи в определенном диапазоне: текущая дата + 7 дней.

Общая форма выглядит так:

SELECT * FROM name_table WHERE DATE BETWEEN [начальная дата] AND [конечная дата]

З.Ы.: Вместо DATE(NOW()) можно указать дату которая вас интересует в формате ‘yyyy-mm-dd’ (обязательно в кавычках)

З.Ы.Ы.: Более подробно узнать про функции даты и времени можно перейдя по этой ссылке.

Спасибо за внимание!


5 комментариев для “Выбор строк из диапазона дат в MySQL”

Оставьте комментарий