MySQL的三值逻辑
作者:互联网
MySQL 采用三值逻辑
SELECT 1 = 1;
SELECT 1 = 2;
SELECT 1 = NULL;
SELECT 1 != NULL;
上面四条语句的结果分别为:
可见MySQL采用三值逻辑,1
, 0
, NULL
影响
IN
语句
首先选择一个表t1
:
如果采用IN
语句,则正常运行。但如果采用NOT IN
语句,则结果为空集。
猜测与验证
IN
语句将值分别与集合中的元素进行判断并进行或运算OR
,而FALSE OR NULL
的结果为NULL
。
以下为验证结果:
与/或运算
非运算
异或运算
比较运算
IS
运算符
总结一下:
TRUE OR NULL
结果为TRUE
FALSE OR NULL
结果为NULL
TRUE AND NULL
结果为NULL
FALSE AND NULL
结果为FALSE
NOT NULL
结果为NULL
NULL XOR TRUE/FALSE/NULL
结果为NULL
NULL = NULL
结果为NULL
IS NULL
是唯一可以将NULL
转换为逻辑真假的运算符
标签:语句,逻辑,FALSE,三值,结果,MySQL,NULL,TRUE,SELECT 来源: https://www.cnblogs.com/CounterX/p/16181323.html