В этом учебном пособии вы узнаете, как использовать PostgreSQL условие BETWEEN с синтаксисом и примерами.
Описание
PostgreSQL условие BETWEEN используется для получения значений в диапазоне в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис для условия BETWEEN в PostgreSQL:
Параметры или аргументы
- expression
- Столбец или расчет.
- value1 и value2
- Эти значения создают включающий диапазон, с которым сравнивается expression.
Примечание
- PostgreSQL условие BETWEEN будет возвращать записи, в которых expression находится в диапазоне value1 и value2 (включительно).
Пример - с числами
Рассмотрим некоторые примеры PostgreSQL условия BETWEEN с использованием числовых значений. В следующем примере условие BETWEEN используется для получения значений в числовом диапазоне.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id BETWEEN 500 AND 600; |
В этом примере будут возвращаться все строки из таблицы employee, где employee_id находится в диапазоне от 500 до 600 (включительно). Это эквивалентно следующему оператору SELECT :
1 2 3 4 |
SELECT * FROM employees WHERE employee_id >= 500 AND employee_id <= 600; |
Пример - с датами
Теперь посмотрим, как вы будете использовать PostgreSQL условие BETWEEN с датами.
В следующем примере используется условие BETWEEN для получения значений в диапазоне дат.
Например:
1 2 3 |
SELECT * FROM employees WHERE start_date BETWEEN '2019-04-01' AND '2019-04-30'; |
В этом примере условия BETWEEN будут возвращены все записи из таблицы employee, где start_date - с 1 апреля 2019 года по 30 апреля 2019 года (включительно). Это было бы эквивалентно следующему запросу SELECT :
1 2 3 4 |
SELECT * FROM employees WHERE start_date >= '01.04.2019' AND start_date <= '30.04.2019'; |
Пример - использование оператора NOT
PostgreSQL условие BETWEEN также можно комбинировать с оператором NOT. Вот пример того, как вы могли бы объединить условие BETWEEN с оператором NOT.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id NOT BETWEEN 700 AND 799; |
Этот PostgreSQL пример BETWEEN вернул бы все строки из таблицы employee, где employee_id не находится между 700 и 799 включительно. Это было бы эквивалентно следующему оператору SELECT:
1 2 3 4 |
SELECT * FROM employees WHERE employee_id < 700 OR employee_id > 799; |