= 与 IS 在 SQL 里职责完全不同,只有对 NULL 的真假判断才必须用 IS ;其余场景用 =,二者不能互换。
-
比较"值"------只能用
=sqlWHERE age = 20 WHERE name = 'Tom' -
比较"未知/缺失"------只能用
ISsqlWHERE age IS NULL WHERE age IS NOT NULL -
逻辑结果
= NULL永远返回 UNKNOWN(不会选到任何行)IS NULL返回 TRUE 或 FALSE,逻辑才正确
结论
= 不可替代 IS,IS 也不能替代 =;以后写 SQL 仍得分清场合,该用谁就用谁。