В этом руководстве вы узнаете, как использовать оператор BETWEEN SQL Server для указания диапазона для проверки.
Обзор оператора BETWEEN SQL Server
Оператор BETWEEN — это логический оператор, позволяющий указать диапазон для проверки.
Ниже показан синтаксис оператора BETWEEN:
column | expression BETWEEN start_expression AND end_expression
В этом синтаксисе:
- Сначала укажите столбец или выражение для проверки.
- Во-вторых, поместите start_expression и end_expression между ключевыми словами BETWEEN и AND. Start_expression, end_expression и проверяемое выражение должны иметь одинаковый тип данных.
Оператор BETWEEN возвращает значение TRUE, если проверяемое выражение больше или равно значению start_expression и меньше или равно значению end_expression.
Вы можете использовать операторы «больше или равно»(>=) и «меньше или равно»(<=) для замены оператора BETWEEN следующим образом:
column | expression = start_expression
Условие, использующее оператор BETWEEN, гораздо более читабельно, чем условие, использующее операторы сравнения >=, <= и логический оператор AND.
Чтобы инвертировать результат оператора BETWEEN, используйте оператор NOT BETWEEN следующим образом:
column | expression NOT BETWEEN start_expression AND end_expresion
NOT BETWEEN возвращает TRUE, если значение в столбце или выражении меньше значения start_expression и больше значения end_expression. Это эквивалентно следующему условию:
column | expression end_expression
Обратите внимание, что если какой-либо входной параметр BETWEEN или NOT BETWEEN равен NULL, то результат будет UNKNOWN.
Примеры SQL Server BETWEEN
Давайте рассмотрим несколько примеров использования оператора BETWEEN, чтобы понять, как он работает.
A) Пример использования SQL Server BETWEEN с числами
См. следующую таблицу продуктов из образца базы данных :
Следующий запрос находит продукты, цена которых находится в диапазоне от 149,99 до 199,99:
SELECT product_id, product_name, list_price FROM production.products WHERE list_price BETWEEN 149.99 AND 199.99 ORDER BY list_price;
Чтобы получить продукты, цены на которые не находятся в диапазоне от 149,99 до 199,99, используйте оператор NOT BETWEEN следующим образом:
SELECT product_id, product_name, list_price FROM production.products WHERE list_price NOT BETWEEN 149.99 AND 199.99 ORDER BY list_price;
B) Использование SQL Server BETWEEN с примерами дат
Рассмотрим следующую таблицу заказов:
Следующий запрос находит заказы, которые клиенты разместили в период с 15 января 2017 г. по 17 января 2017 г.:
SELECT order_id, customer_id, order_date, order_status FROM sales.orders WHERE order_date BETWEEN '20170115' AND '20170117' ORDER BY order_date;
Обратите внимание, что для указания буквальной даты используется формат «ГГГГММДД», где ГГГГ — это 4-значный год, например, 2017, ММ — это 2-значный месяц, например, 01, а ДД — это 2-значный день, например, 15.
В этом руководстве вы узнали, как использовать оператор BETWEEN SQL Server для формирования условия, проверяющего диапазон значений.