<=> 安全等于,为NULL安全的等值比较运算符(NULL-safe equal),该操作符作用类似"="。
区别为当符号两边出现NULL值时,=
操作符会返回NULL,而<=>
会返回1(两边操作数都为NULL时)或者0(一边操作数为NULL)。
bash
mysql> select 1<=>1, 1<=>2, 1<=>NULL, NULL<=>NULL;
+-------+-------+----------+-------------+
| 1<=>1 | 1<=>2 | 1<=>NULL | NULL<=>NULL |
+-------+-------+----------+-------------+
| 1 | 0 | 0 | 1 |
+-------+-------+----------+-------------+
1 row in set (0.00 sec)
当然,可以将 1 IS NULL 改写成 1<=> NULL。