Данная статья относится к циклу статей, посвященных 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