MySQL IF(NULL!=“”,1,0)不能按预期工作

时间:2015-02-19 08:26:19

标签: mysql sql

任何人都可以解释这种MySQL行为吗?我认为我理解布尔方程,但MySQL可能会改变这一切。

SELECT IF(NULL = "", 1, 0);
SELECT IF(NULL != "", 1, 0);
-- Returns 0 in both cases

NULL如何不等于""并且同时不等于""

1 个答案:

答案 0 :(得分:2)

null比较既不是true也不是false。它是unknown

因此两个陈述都不是true

IS比较时始终使用null运算符。

SELECT IF('' is not NULL, 1, 0);

在MySQL中,您还可以使用 null-safe equal operator <=>