为什么以下查询没有返回hello?
select 'hello' where 'a' not in ('b', null)
答案 0 :(得分:3)
您的查询可以扩展为:
SELECT 'hello' WHERE 'a' <> 'b' AND 'a' <> NULL;
第一个条件评估为true。
第二个条件既不是真也不是假,因为NULL既不等也不等于任何东西。完整的WHERE子句是:“true既不是真也不是假”。
答案 1 :(得分:1)
简短的回答是你不能有空值。