我找到了这个网站:here
它很好地描述了它的工作原理以及为什么不工作。
但我的问题有点不同。
select 'true' from dual where 'test' not in ('test2','');
为什么这个查询没有退回一行?
是''
处理null
?
thx求助
答案 0 :(得分:12)
您的怀疑were correct。
所以你的查询基本上是
WHERE 'test' <> 'test2' and 'test' <> Null
评估为
WHERE true and unknown
哪个是unknown
select * from dual where '' = '';
会给出相同(缺乏)的结果
答案 1 :(得分:2)
是的,在Oracle中,空字符串是NULL。