共用方式為


<=> (lt eq gt sign) 運算子

適用於:核取記號為「是」Databricks SQL 核取記號為「是」Databricks Runtime

對於非空運算元,傳回與 EQUAL(=) 相同的結果,但如果兩個運算元都是 true,則傳回 NULL;如果其中一個運算元是 false,則傳回 NULL。 這個運算子與 同義 expr1 is not distinct from expr2

語法

expr1 <=> expr2

引數

  • expr1:可比較類型的表達式。
  • expr2:與 共用 expr1 的表達式。

傳回

布爾值。

範例

> 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