MySQL中的比較操作符<=>


對於=操作符,兩個值被比較,結果是0(不相等)或者1(相等)。

比較操作符<=>表示NULL安全的等價。這個比較操作符執行等價比較,和=操作符類似,但是如果兩個操作數都是NULL,會返回1,而不是返回NULL;如果其中一個操作數是NULL,會返回0,而不是返回NULL。

 

當參與比較的兩個操作數都可能包含NULL,而你需要獲得兩個列的一個一致性結果的時候,<=>比較操作符就很有用了。另外一個用例是,對於prepared語句,例如:

... WHERE col_a <=> ? ...

這里的占位符可能是標量或者NULL,並不需要對語句做任何修改。

 

<=>是MySQL特有的語法:

'a' IS NULL     ==> 'a' <=> NULL
'a' IS NOT NULL ==> NOT('a' <=> NULL)

  

mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
        -> 1, 1, 0
mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;
        -> 1, NULL, NULL

  

對於比較操作,(a,b)<=>(x,y)等價於:

(a <=> x) AND (b <=> y)

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM