Оператор BETWEEN в SQL.
Всем привет! Сегодня мы поговорим про оператор between, позволяющий выбрать некоторый диапазон.
К примеру, у нас есть таблица с такими полями:
- id
- name
- price
Уникальный идентификатор, название товара и его цена.
Теперь представим, что нам нужно выбрать товары, у которых цена от 10 до 30 рублей. Как мы это можем сделать? Ну, например, вот так:
SELECT * FROM products WHERE price > 10 AND price < 30;
Но, однако, это не самое лучшее решение. На помощь нам приходит оператор BETWEEN.
SELECT * FROM products WHERE price BETWEEN 10 AND 30;
Данный оператор может работать как с числами, так и с текстами и датами.
Пример
SELECT * FROM table WHERE date BETWEEN '2014-01-01' AND '2014-03-01';
Если вам, к примеру, нужно выбрать все товары, у которых цена не находится в каком-то диапазоне, то используйте NOT.
SELECT * FROM products WHERE price NOT BETWEEN 10 AND 30;
Используйте этот оператор, где это необходимо. Спасибо за внимание!
-
- Михаил Русаков
Комментарии (3):
КЛАСССССССС , тема диапазона очень интересная и НУЖНАЯ во многих проэктах ,как то сайты знакомств , доски объявлений и тд, Михаил если не затруднит вас развить эту тему в виде ВИДЕОУРОКА на живом примере буду и думаю не только Я блогодарны!!!
Ответить
А что, этот оператор модифицирует строки '2014-01-01' и '2014-03-01' в таймстампы? И выбирает диапазон уже между таймстампами? Или как это он выбирает диапазон между строками? Он же не знает, что это на самом деле даты.
Ответить
есть поле такое в базе данных, которое выводит дату в таком формате: YYYY-MM-DD Так что он все прекрасно знает.
Ответить
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.