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
值。所以你得到的结果表明:
在表格的所有行中,salary
是 null
或者表格根本没有行
如果您想在该事件中返回其他内容,例如 0
,请使用 COALESCE()
:
Select COALESCE(AVG(Salary), 0) from Employee
【讨论】:
以上是关于SQL Server:忽略 AVG NULL 值的主要内容,如果未能解决你的问题,请参考以下文章