任何人都可以解释这种MySQL行为吗?我认为我理解布尔方程,但MySQL可能会改变这一切。
SELECT IF(NULL = "", 1, 0);
SELECT IF(NULL != "", 1, 0);
-- Returns 0 in both cases
NULL
如何不等于""
并且同时不不等于""
?
答案 0 :(得分:2)
与null
比较既不是true
也不是false
。它是unknown
。
因此两个陈述都不是true
。
与IS
比较时始终使用null
运算符。
SELECT IF('' is not NULL, 1, 0);
在MySQL中,您还可以使用 null-safe equal operator <=>
。