SQL- 确保查询不包括某个列为 null 的结果



下面是我用来检查表中有多少行的日期早于01/01/2015 (TIMESTAMP).的查询

如何更改此查询以确保它不包含null DATE_INSERTED列的任何结果?

另外,如果这不是检查这种情况的最有效方法,我将不胜感激。

当前查询:

SELECT COUNT(*)
FROM TABLE_NAME
WHERE DATE_INSERTED NOT BETWEEN '01-JAN-2015 00.00.00.00' AND '18-JAN-2016 00.00.00.00';

你想使用is not null以下是更新的查询:

SELECT COUNT(*)
FROM TABLE_NAME
WHERE DATE_INSERTED
    NOT BETWEEN '01-JAN-2015 00.00.00.00' AND '18-JAN-2016 00.00.00.00'
    AND DATE_INSERTED is not null;

新行距是可选的。尽管它可能看起来具有误导性:在参数 1 和参数 2 之间,并且列不为空......您设置的第一个 where 条件(介于)仅采用两个参数,因此下一个 AND 被视为默认值。而第一个是第一个和第二个 BETWEEN 参数之间的分离。

最新更新