1

首先对不起标题,我知道这不清楚,但我找不到更好的!我有一份水晶报告。此报告不使用命令(sql 查询)从 oracle 数据库中获取数据。以前的开发人员使用表之间的链接,因此查询是动态生成的。

我使用菜单“显示 Sql 查询”来查看生成的 sql 查询。我生成 sql 查询的原因是因为某些记录没有显示在结果中,所以我想在 SQL Developer 中执行查询,我发现了问题并相信我这是一个非常奇怪的问题。事实上,在 WHERE 子句中有这个过滤器(TableX.FieldY <> 'blabla')。通常它应该包括该列中包含 NULL 的行,但事实并非如此!

结果,oracle 不会显示该列中具有空值的行!我相信 null 与 'blablabla' 不同,那么为什么该列中具有 null 值的记录不显示呢?请你帮助我好吗?另外,即使解决方案是修改查询中的某些内容,我也无法修改查询,因为它是由 Crystal 报表自动生成的。非常感谢您的宝贵帮助。

瓦卢

4

1 回答 1

1

NULL 不等于任何东西。NULL 有它自己的比较,IS NULL 或 IS NOT NULL:

 TableX.FieldY <> 'blabla'
OR  TableX.FieldY IS NULL
于 2013-06-05T22:06:49.400 回答