2017-08-09 127 views
1

我有NUMBER(10)列“list_id”,并且想检查该字段是否为空或空。Oracle SQL检查NUMBER数据类型字段的空缺

于是我运行下面的SQL语句:

select list_id from item_list where list_id is null 

这给了我大约200行,其中字段是完全空(无数据)

然后我运行下面的SQL语句:

select count (list_id) from item_list where list_id is null 

令我吃惊的这个返回计数(LIST_ID)= 0

有什么我失踪?我想要实现的是找到list_id为空或为空或不包含数据的那些行。

回答

2

使用count(*)

select count(*) 
from item_list 
where list_id is null; 

根据定义,count(<expression>)计数与表达非NULL值的行数。这是很好documented,以及如何被COUNT()作品中的所有数据库:

如果指定EXPR,再算上返回行其中表达式是 不为空的数量。