MySQL的三值逻辑

2022/4/23 2:42:47

本文主要是介绍MySQL的三值逻辑,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

MySQL 采用三值逻辑

SELECT 1 = 1;
SELECT 1 = 2;
SELECT 1 = NULL;
SELECT 1 != NULL;

上面四条语句的结果分别为:
image
可见MySQL采用三值逻辑,1, 0, NULL

影响

IN语句

首先选择一个表t1:
image
如果采用IN语句,则正常运行。但如果采用NOT IN语句,则结果为空集。
image

猜测与验证

IN语句将值分别与集合中的元素进行判断并进行或运算OR,而FALSE OR NULL的结果为NULL
以下为验证结果:
与/或运算
image
非运算
image
异或运算
image
比较运算
image
IS运算符
image

总结一下:

  • 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转换为逻辑真假的运算符


这篇关于MySQL的三值逻辑的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程