Сравнения
Операторы сравнения
В таблице ниже показаны стандартные операторы сравнения. В случае, если любой из входных аргументов является NULL, результат сравнения равен NULL.
| Оператор | Описание | Пример | Результат |
|---|---|---|---|
< | меньше | 2 < 3 | true |
> | больше | 2 > 3 | false |
<= | меньше или равно | 2 <= 3 | true |
>= | больше или равно | 4 >= NULL | NULL |
= | равно | NULL = NULL | NULL |
<> или !=
| не равно | 2 <> 2 | false |
В таблице ниже показаны стандартные операторы различий. Эти операторы рассматривают NULL значения как равные.
| Оператор | Описание | Пример | Результат |
|---|---|---|---|
IS DISTINCT FROM | не равно, включая NULL
| 2 IS DISTINCT FROM NULL | true |
IS NOT DISTINCT FROM | равно, включая NULL
| NULL IS NOT DISTINCT FROM NULL | true |
BETWEEN и IS [NOT] NULL
Помимо стандартных операторов сравнения, также существуют операторы BETWEEN и IS (NOT) NULL. Они ведут себя очень похоже на операторы, но имеют специальную синтаксическую конструкцию, предписанную стандартом SQL. Они показаны в таблице ниже.
Обратите внимание, что BETWEEN и NOT BETWEEN эквивалентны приведенным ниже примерам только в тех случаях, когда a, x и y имеют один и тот же тип, так как BETWEEN приведёт все входные данные к одному типу.
| Предикат | Описание |
|---|---|
a BETWEEN x AND y | эквивалентно x <= a AND a <= y
|
a NOT BETWEEN x AND y | эквивалентно x > a OR a > y
|
expression IS NULL |
true если выражение NULL, false в противном случае |
expression ISNULL | псевдоним для IS NULL (нестандартный) |
expression IS NOT NULL |
false если выражение NULL, true в противном случае |
expression NOTNULL | псевдоним для IS NOT NULL (нестандартный) |
Для выражения
BETWEEN x AND y,xиспользуется как нижняя граница, аy— как верхняя. Следовательно, еслиx > y, результат всегда будетfalse.
© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/sql/expressions/comparison_operators.html