我想生成一个SQL查询来获取特定列中的空值,如
SELECT COUNT (column) AS count
FROM table
WHERE column = null ;
这返回0,但是我希望该列中存在多少个空值,如
SELECT COUNT (column) AS count
FROM table
WHERE column = 'some value';
返回匹配记录的计数
答案 0 :(得分:4)
NULL
值非常特殊,因为您无法使用=
;您必须使用IS NULL
代替:
SELECT COUNT (*) AS count FROM table where column IS null ;
这是因为SQL中的NULL
评估不等于任何内容,包括其他NULL
值。另请注意使用*
作为COUNT
的参数。
答案 1 :(得分:1)
您可以使用条件sum()
SELECT sum(case when column is null
then 1
else 0
end) AS count
FROM table
答案 2 :(得分:1)
另一个查询,但确切的答案检查出来
select count(*)-count(column) from table
答案 3 :(得分:1)
要获得准确的输出,您也可以使用以下命令 -
SELECT COUNT (*) AS count FROM table where column IS null OR column='';
因为有时只有''不计为NULL。