3

我找到了这个网站:这里

它很好地描述了它为什么有效,为什么不有效。

但我的问题有点不同。

select 'true' from dual where 'test' not in ('test2','');

为什么这个查询不返回一行?
是怎样''处理的null

谢谢你的帮助

4

2 回答 2

12

你的怀疑是正确的

所以你的查询基本上是

WHERE 'test' <> 'test2' and  'test' <> Null

评估为

WHERE true and unknown

哪个是unknown

select * from dual where '' = '';

将给出相同(缺乏)的结果

于 2010-08-23T15:17:13.063 回答
2

是的,在 Oracle 中,空字符串是 NULL。

于 2010-08-23T15:17:55.603 回答