Выбор строк из диапазона дат в 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’ (обязательно в кавычках)
З.Ы.Ы.: Более подробно узнать про функции даты и времени можно перейдя по этой ссылке.
Спасибо за внимание!
21 июня, 2012 в 17:42|date at time
Спасибо автору за отличный пост
16 октября, 2012 в 13:00|date at time
Спасибо, помогло
17 октября, 2012 в 10:29|date at time
Всегда, пожалуйста.
16 января, 2017 в 16:41|date at time
А что делать, если мне нужно выбрать записи за один день, но в диапазоне времени, скажет с 15:00 до 18:00 ?
18 января, 2017 в 14:21|date at time