这是MySQL中<=>运算符的用法。
该运算符类似于=运算符,即当值相等时,结果将为true(1),否则为false。
在第一种情况下,=和<=>运算符的工作方式相同。
每当我们将任何值与NULL比较时,<=>运算符将给出值0,而当我们与NULL <=> NULL比较时,则返回1。
对于=运算符,则不会发生。每当我们将任何值与NULL比较时,它都会返回NULL。如果我们将NULL与NULL进行比较,则仅返回NULL。
这是上述两种情况的示例。查询如下-
mysql> SELECT 10 <=> 10, NULL <=> NULL, 10 <=> NULL;
这是输出。
+-----------+---------------+-------------+ | 10 <=> 10 | NULL <=> NULL | 10 <=> NULL | +-----------+---------------+-------------+ | 1 | 1| 0| +-----------+---------------+-------------+ 1 row in set (0.00 sec)
查看上面的输出,NULL <=> NULL返回1,而不是NULL。
现在让我们来看一个=运算符的示例。查询如下-
mysql> SELECT 10 = 10, NULL = NULL, 10 = NULL;
这是输出。
+---------+-------------+-----------+ | 10 = 10 | NULL = NULL | 10 = NULL | +---------+-------------+-----------+ | 1 | NULL | NULL | +---------+-------------+-----------+ 1 row in set (0.00 sec)
查看上面的输出,NULL = NULL返回NULL。