我计算空值时返回什么?

时间:2015-11-17 13:54:30

标签: sql

如果我有一张桌子:

ID |field|
1  |     |
2  |     |
3  |     |

所有字段记录均为空。我想知道查询时返回的内容:

SELECT Count(field)
FROM table

修改

我想知道在使用sql的各种实现方面会发生什么。由于我无法访问其他实现,除了Access之外,我无法检查自己,但对我来说了解这一点非常重要。 Count查询只是一个示例,用于显示该实现如何处理空值。请不要告诉我任何解决方法,如何计算空值,或如何忽略空值。只要回答我做的事情。谢谢。

1 个答案:

答案 0 :(得分:1)

您所做的是使用conditional SUM

SELECT 
     SUM(CASE WHEN field IS NULL THEN 1 ELSE 0 END) as numNULL,
     SUM(CASE WHEN field IS NULL THEN 0 ELSE 1 END) as numNOT_NULL,
FROM table

编辑

很抱歉,如果我错过了解你的问题。但是你的评论与你原来的问题非常不同。

http://www.w3schools.com/sql/sql_func_count.asp

  

SQL COUNT(column_name)语法
返回COUNT(column_name)函数   的值(NULL values will not be counted)的数量   指定列:

在所有plataform中COUNT()应为0。

您可以使用sqlFiddle在不同的数据库(MySql,SqlLite,MSSQL,Postgre,Oracle)中测试您的查询。使用函数Text to DDL可以非常轻松地创建表格。有时考虑网站有一些超时,所以可能需要稍后再试

这是mySQL http://sqlfiddle.com/#!9/413ea7/1