MYSQL. Как выбрать записи, где NOW находится между двумя датами


Делаем выборку из базы данных(БД) со значениями у которых текущий момент времени "now()" находится между двумя датами.

Пример на выборке сделок, которые действуют на данный момент.
Дата старта сделки должна быть меньше текущей даты. А дата окончания больше, чем текущая дата.
Для выборки отлично подойдет конструкция BETWEEN в условии WHERE.

Для примера. У нас есть условный список сделок, где присутствует:
  • наименование сделки
  • дата начала сделки
  • дата окончания сделки

Таблица, которая будет хранить эти данные будет иметь следующий вид:
  • id - авто инкремент
  • title - наименование сделки
  • start_date - дата начала сделки
  • end_date - дата окончания сделки



Теперь делаем выборку всех сделок, которые активны на данный момент:
SELECT * FROM deals where (NOW() BETWEEN start_date AND end_date);

Выбираем все колонки таблицы, которые впадают в текущий момент времени и считаются активными на данный момент.

BETWEEN устанавливает выборку данных, которые впадают в указанный промежуток времени.
BETWEEN start_date AND end_date


Результат выборки:


Исходя из полученных результатов мы получили данные, которые считаются активными на данный момент времени.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.