Оператор <=>
(знак "меньше", "равно" и "больше")
Область применения: Databricks SQL
Databricks Runtime
Возвращает тот же результат, что и EQUAL(=)
для операндов, отличных от NULL, но возвращает true
, если оба операнда имеют значение NULL
, и false
, если один из них имеет значение NULL
. Этот оператор является синонимом .expr1 is not distinct from expr2
Синтаксис
expr1 <=> expr2
Аргументы
-
expr1
: выражение сравнимого типа. -
expr2
: выражение, которое разделяет наименьший общий тип сexpr1
.
Возвраты
Значение 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