Between date (MySQL)

Если нужно выбрать значения в диапазоне дат, то можно воспользоваться стандартной конструкцией (больше-меньше), но есть оператор BETWEEN, который определяет диапазон значений поля.

Пример

Например есть таблица новости:

  • id — айди
  • header — заголовок
  • text — текст

Необходимо выбрать данные между некоторыми датами.

Создаем таблицу

CREATE TABLE `news` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `date` date NOT NULL DEFAULT '0000-00-00', `text` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=cp1251;

Заполняем данные

INSERT INTO `news` (`id`,`date`,`text`) VALUES (1,'2010-12-16','Опубликована первая статья'), (2,'2010-12-25','Опубликована десятая статья'), (3,'2011-01-04','Опубликована пятнадцатая статья'), (4,'2011-01-08','Исходный код языков программирования стал отображаться красивее'), (5,'2011-01-20','20 января что-то произошло');

Between date запрос

Например нужно выбрать все записи между датами 2010-12-25 и 2011-01-08.

SELECT `id`, `date`, `text` FROM news n WHERE `date` BETWEEN '2010-12-25' AND '2011-01-08';

После выполнения запроса MySQL вернет следующие данные:

2, '2010-12-25', 'Опубликована десятая статья'
3, '2011-01-04', 'Опубликована пятнадцатая статья'
4, '2011-01-08', 'Исходный код языков программирования стал отображаться красивее'

Примечание

Between аналогичен конструкции больше равно и меньше равно (>= AND <=).

Категории

СУБДMySQL

Читайте также

Комментарии