总结: null safe 是用<=>
代表比较,而不是用 =
。null <=> null
返回 true, 而 null = null
代表 false。
NULL 和任意字符比较都返回 NULL,而不是 true 或者 false。如
SELECT 1 = 1, NULL = NULL, 1 = NULL;
输出
true NULL NULL
如果我们想要 NULL 和 NULL 判断等于的时候返回 true,可以使用 <=>
,代表 NULL SAFE。
SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;
true true false
如可以用于两个表关联,NULL 和普通的值一样。