我找到了这个网站:这里
它很好地描述了它为什么有效,为什么不有效。
但我的问题有点不同。
select 'true' from dual where 'test' not in ('test2','');
为什么这个查询不返回一行?
是怎样''
处理的null
?
谢谢你的帮助
你的怀疑是正确的。
所以你的查询基本上是
WHERE 'test' <> 'test2' and 'test' <> Null
评估为
WHERE true and unknown
哪个是unknown
select * from dual where '' = '';
将给出相同(缺乏)的结果
是的,在 Oracle 中,空字符串是 NULL。