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

输出:NULL

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

输入的字符串格式不正确

【问题讨论】:

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

标签: sql sql-server tsql select average


【解决方案1】:

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

  • 在表格的所有行中,salarynull

  • 或者表格根本没有行

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

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

【讨论】:

    猜你喜欢
    • 2013-06-29
    • 2011-07-17
    • 1970-01-01
    • 2019-04-11
    • 1970-01-01
    • 1970-01-01
    • 2015-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多