我有一个名为people的数据库,共有8398条记录。我知道这是因为我用COUNT函数执行了以下查询。
SELECT COUNT(*)
FROM people;
然而,当我在birthdate列上执行COUNT时,我发现这只返回6152条记录。这是因为COUNT函数会自动排除birthdate列中的NULL值吗?
SELECT COUNT(birthdate)
FROM people;
如何在生日列中对所有NULL列进行计数?
非常感谢
答案 0 :(得分:0)
我怎样才能对所有NULL中的列进行计数 生日专栏?
使用CASE表达式检查列是否为空:
SELECT COUNT(CASE WHEN birthdate IS NULL THEN 1 END)
FROM people;
当birthdate
为空时,表达式的计算结果为1;当brthdate
不为空时,表达式的计算结果为NULL。由于COUNT仅计算非空值,因此您将在birthdate
列中获得许多NULL。