Comparison Operators and null
mysql>
Comparison operators normally return 1 (corresponding to TRUE) or 0 (FALSE).
Comparisons with NULL return NULL.
The two exceptions are the operators <=> and IS NULL, which even in comparison with NULL return 0 or 1:
mysql>
mysql> SELECT NULL=NULL, NULL=0;
+-----------+--------+
| NULL=NULL | NULL=0 |
+-----------+--------+
| NULL | NULL |
+-----------+--------+
1 row in set (0.00 sec)
mysql>
mysql> SELECT NULL<=>NULL, NULL<=>0;
+-------------+----------+
| NULL<=>NULL | NULL<=>0 |
+-------------+----------+
| 1 | 0 |
+-------------+----------+
1 row in set (0.00 sec)
mysql>
mysql> SELECT NULL IS NULL, NULL IS 0;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '0' at line 1
mysql>
mysql>
mysql>
Related examples in the same category