安全等于运算符(<=>
)
<=>
操作符和 =
等于操作符类似,不过 <=>
可以用来判断 NULL 值,具体语法规则为:
-
当两个操作数均为 NULL 时,其返回值为 1 而不为 NULL;
-
而当一个操作数为 NULL 时,其返回值为 0 而不为 NULL。
示例:使用 <=> 进行相等的判断
MySQL> SELECT 1<=>0,'2'<=>2,2<=>2,'0.02'<=>0,'b'<=>'b',(1+3) <=> (2+1),NULL<=>NULL; +-------+---------+-------+------------+-----------+-----------------+-------------+ | 1<=>0 | '2'<=>2 | 2<=>2 | '0.02'<=>0 | 'b'<=>'b' | (1+3) <=> (2+1) | NULL<=>NULL | +-------+---------+-------+------------+-----------+-----------------+-------------+ | 0 | 1 | 1 | 0 | 1 | 0 | 1 | +-------+---------+-------+------------+-----------+-----------------+-------------+ 1 row in set (0.00 sec)
由结果可以看到,<=>
在执行比较操作时和 =
的作用是相似的,唯一的区别是 <=>
可以用来对 NULL 进行判断,两者都为 NULL 时返回值为 1。