使用where子句选择查询,包括null,但不提供所需的输出

时间:2018-02-04 19:14:59

标签: sql oracle

我使用非常基本的查询如下:

SELECT ID FROM TABLE WHERE COL1='VALUE' AND COL2 IS NULL;

上述查询未选择值为col2的id。但是当我使用以下查询时:

SELECT ID FROM TABLE WHERE COL2 IS NULL;

它给了我想要的id。但我无法弄清楚为什么它不能与查询中的col1子句一起使用

1 个答案:

答案 0 :(得分:0)

因为COL1与'VALUE'不同?因为,你说的作品

SQL> with test (id, col1, col2) as
  2  (select 100, 'A', null from dual)
  3  select id
  4  from test
  5  where col1 = 'A'
  6    and col2 is null;

        ID
----------
       100

SQL>

现在轮到你 - 证明我错了(即提供你自己的例子)。