2017-08-09 132 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,再算上返回行其中表達式是 不爲空的數量。