说了惭愧用了这么多年的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 |