SQL Server:忽略 AVG NULL 值

Posted

技术标签:

【中文标题】SQL Server:忽略 AVG NULL 值【英文标题】:SQL Server : ignore AVG NULL value 【发布时间】:2020-04-25 10:12:14 【问题描述】:
Select AVG(Salary) from Employee

输出:NULL

当我想将传入的值转换为整数或小数时,出现错误:

输入的字符串格式不正确

【问题讨论】:

样本数据和预期输出是什么? 您必须在某处将NULL 转换为值为'NULL' 的字符串?只是不要那样做。显示给出此错误的完整代码。由于NULL 是一个有效的返回值,您应该在.Net 中使用可以接受null 作为值的可空类型 @marc_s - “输入字符串的格式不正确”将来自 int.Parse 或 .net 中的类似名称 - 而不是 SQL Server 【参考方案1】:

AVG() 等聚合函数忽略 null 值。所以你得到的结果表明:

在表格的所有行中,salarynull

或者表格根本没有行

如果您想在该事件中返回其他内容,例如 0,请使用 COALESCE()

Select COALESCE(AVG(Salary), 0) from Employee

【讨论】:

以上是关于SQL Server:忽略 AVG NULL 值的主要内容,如果未能解决你的问题,请参考以下文章

8.聚集函数 ---SQL

sql server中啥是聚合函数

SQL Server中的聚合函数都有哪些?

SQL Server中的聚合函数都有哪些?

如何在 SQL Server 中创建忽略 NULL 值的计算几何列

如何使LAG()在SQL Server中忽略NULL?