SQL Server BETWEEN Оператор

В этом руководстве вы узнаете, как использовать оператор 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;

Пример SQL Server BETWEEN

Чтобы получить продукты, цены на которые не находятся в диапазоне от 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;

Пример SQL Server NOT BETWEEN

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;

Пример SQL Server BETWEEN дат

Обратите внимание, что для указания буквальной даты используется формат «ГГГГММДД», где ГГГГ — это 4-значный год, например, 2017, ММ — это 2-значный месяц, например, 01, а ДД — это 2-значный день, например, 15.

В этом руководстве вы узнали, как использовать оператор BETWEEN SQL Server для формирования условия, проверяющего диапазон значений.

Мирослав С.

Автор статей, ИБ-специалист