Предикат BETWEEN

Синтаксис:

BETWEEN::=
<Проверяемое выражение> [NOT] BETWEEN
<Начальное выражение> AND <Конечное выражение>

Предикат BETWEEN проверяет, попадают ли значения проверяемого выражения в диапазон, задаваемый пограничными выражениями, соединяемыми служебным словом AND. Естественно, как и для предиката сравнения, выражения в предикате BETWEEN должны быть совместимы по типам.

Предикат

exp1 BETWEEN exp2 AND exp3

равносилен предикату

exp1 >= exp2 AND exp1 <= exp3

А предикат

exp1 NOT BETWEEN exp2 AND exp3

равносилен предикату

NOT (exp1 BETWEEN exp2 AND exp3)

Если значение предиката exp1 BETWEEN exp2 AND exp3 равно TRUE, в общем случае это отнюдь не означает, что значение предиката exp1 BETWEEN exp3 AND exp2 тоже будет TRUE, так как первый будет интерпретироваться как предикат:

exp1 >= exp2 AND exp1 <= exp3

а второй как:

exp1 >= exp3 AND exp1 <= exp2

Пример 5.2.3

Найти модель и частоту процессора компьютеров стоимостью от $400 до $600:
SELECT model, speed
FROM PC
WHERE price BETWEEN 400 AND 600;
mssql
🚫
[[ error ]]
[[ column ]]
[[ value ]]
modelspeed
1232500
1233500
1232500