说了惭愧用了这么多年的MySQL刚刚知道了Null值是怎么回事

以下是我和bing的对话

我:mysql中为什么null不等于null呢

bing:在MySQL中,null不等于null,因为null在MySQL中不代表任何值,通过运算符是得不到任何结果的,因此只能用is null (默认情况)。
希望这能帮到你。

我:那么如何判断两个可能为null值的字段是否相等呢

bing:你可以使用<=>操作符来判断两个可能为null值的字段是否相等。当两个操作数均为NULL时,其返回值为1而不为NULL;而当一个操作数为NULL时,其返回值为0而不为NULL。
希望这能帮到你。

然后SQL做了如下的测试

 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