Оператор PostgreSQL BETWEEN

Читать первым в Telegram

Данная статья относится к циклу статей, посвященных PostgreSQL. В предыдущей статье мы говорили об операторе PostgreSQL IN. Теперь же мы углубимся в изучение оператора BETWEEN, используемого для сопоставления значения с диапазоном значений.

Введение в оператор PostgreSQL BETWEEN

Оператор BETWEEN используется для сопоставления значения с диапазоном значений. Рассмотрим синтаксис вызова оператора BETWEEN:

value BETWEEN low AND high;

Если значение больше или равно значения low и меньше или равно значения high — выражение вернёт true, в противном случае, — false.

Вы можете переписать оператор BETWEEN используя операторы больше или равно (>=) и меньше или равно (<=), как показано в запросе ниже:

value >= low and value <= high

Если вы хотите проверить вышло ли значение за допустимый диапазон, используйте оператор NOT вместе с оператором BETWEEN следующим образом:

value NOT BETWEEN low AND high;

Следующее выражение аналогично выражению, использующему операторы NOT и BETWEEN:

value < low OR value > high

Зачастую оператор BETWEEN используется в условии WHERE операторов SELECT, INSERT, UPDATE или DELETE.

Примеры использования оператора BETWEEN

В качестве примера возьмём таблицу payment из примера базы данных.

Следующий запрос выбирает платеж, сумма которого составляет от 8 до 9 (USD):

SELECT
    customer_id,
    payment_id,
    amount
FROM
    payment
WHERE
    amount BETWEEN 8
AND 9;

Чтобы получить платежи, сумма которых не находится в диапазоне от 8 до 9, используйте следующий запрос:

SELECT
    customer_id,
    payment_id,
    amount
FROM
    payment
WHERE
    amount NOT BETWEEN 8
AND 9;

Если вы хотите сравнить значение с диапазоном дат, вы должны использовать литерал даты в формате ISO 8601, т.е ГГГГ-ММ-ДД. Например, чтобы получить платёж, дата платежа которого находится в диапазоне от 2007-02-07 до 2007-02-15, используйте следующий запрос:

SELECT
    customer_id,
    payment_id,
    amount,
    payment_date
FROM
    payment
WHERE
    payment_date BETWEEN '2007-02-07'
AND '2007-02-15';

Итак, мы научились использовать оператор PostgreSQL BETWEEN для выбора значения в диапазоне значений. В следующий раз мы расскажем вам об операторе PostgreSQL LIKE.

Источник: PostgreSQL Tutorial from Scratch

Поддержать проект

Социальные сети проекта:

Подпишись, чтобы ничего не пропустить!