Поделиться через


Оператор <=> (знак "меньше", "равно" и "больше")

Область применения:флажок Databricks SQL флажок Databricks Runtime

Возвращает тот же результат, что и EQUAL(=) для операндов, отличных от NULL, но возвращает true, если оба операнда имеют значение NULL, и false, если один из них имеет значение NULL. Этот оператор является синонимом .expr1 is not distinct from expr2

Синтаксис

expr1 <=> expr2

Аргументы

Возвраты

Значение BOOLEAN.

Примеры

> SELECT 2 <=> 2;
 true
> SELECT 1 <=> '1';
 true
> SELECT true <=> NULL;
 false
> SELECT NULL <=> NULL;
 true

-- By default string comparisons are trailing space sensitive
-- This can be overridden by using the COLLATE clause
> SELECT 'hello' <=> 'hello  ' AS default,
         'hello' <=> 'hello  ' COLLATE UTF8_BINARY AS utf8_binary,
         'hello' <=> 'hello  ' COLLATE UTF8_BINARY_RTRIM AS rtrim;
 default utf8_binary rtrim
 ------- ----------- -----
 false   false       true

 -- String comparisons are trailing space sensitive by default
-- Use the COLLATE clause to override the default
> SELECT 'world  ' <=> 'world     ' AS default,
         'world  ' <=> 'world     ' COLLATE UTF8_BINARY AS utf8_binary,
         'world  ' <=> 'world     ' COLLATE UTF8_BINARY_RTRIM AS rtrim;
 default utf8_binary rtrim
 ------- ----------- -----
 false   false       true