Spec-Zone.ru › DuckDB

Сравнения

Операторы сравнения

В таблице ниже показаны стандартные операторы сравнения. В случае, если любой из входных аргументов является 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API