В этом учебном пособии вы узнаете, как использовать условие BETWEEN в SQL Server (Transact-SQL) с синтаксисом и примерами.
Описание
Условие BETWEEN SQL Server (Transact-SQL) определяет диапазон для проверки условия
в операторе SELECT, INSERT, UPDATE или DELETE.
Синтаксис
Синтаксис условия BETWEEN в SQL Server (Transact-SQL):
Параметры или аргументы
expression - столбец или расчет.
value1 and value2 – это значения диапазона, с которым сравнивается expression.
Примечание
- Условие SQL Server BETWEEN возвращает записи, где выражение находится в пределах диапазона значений value1 и value2 (включительно).
Пример с числами
Рассмотрим некоторые примеры условия SQL Server BETWEEN, используя числовые значения. Следующий числовой пример использует условие BETWEEN для извлечения значений в числовом диапазоне.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id BETWEEN 15 AND 50; |
Этот пример SQL Server BETWEEN возвращает все строки из таблицы employees, где employee_id находится между 15 и 50 (включительно). Это эквивалентно следующему оператору SELECT:
1 2 3 4 |
SELECT * FROM employees WHERE employee_id >= 15 AND employee_id <= 50; |
Пример с датами
Затем давайте посмотрим, как использовать условие SQL Server BETWEEN с датами. В следующем примере используется условие BETWEEN для извлечения значений в диапазоне дат.
Например:
1 2 3 |
SELECT * FROM employees WHERE start_date BETWEEN '01.04.2018' AND '30.04.2018'; |
Этот пример условия SQL Server BETWEEN возвращает все записи из таблицы employees, где start_date находится между 1 апреля 2018 года и 30 апреля 2018 года (включительно). Это будет эквивалентно следующей оператору SELECT:
1 2 3 4 |
SELECT * FROM employees WHERE start_date >= '01.04.2018' AND start_date <= '30.04.2018'; |
Пример использования оператора NOT
Условие SQL Server BETWEEN также можно комбинировать с оператором SQL Server NOT. Вот пример того, как это сделать.
Например:
1 2 3 |
SELECT * FROM employees WHERE employee_id NOT BETWEEN 1000 AND 2000; |
Этот пример SQL Server BETWEEN возвращает все строки из таблицы employees, где employee_id не находится в диапазоне 1000 и 2000 годами включительно. Это будет эквивалентно следующему оператору SELECT:
1 2 3 4 |
SELECT * FROM employees WHERE employee_id < 1000 OR employee_id > 2000; |