SQL:当一个列有空值时如何实现SUM 3列?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (8)
SELECT 
    sum(TotalHoursM)
          + (TotalHoursT)
          + (TotalHoursW)
          + (TotalHoursTH)
          + (TotalHoursF) 
          AS TOTAL
FROM LeaveRequest
提问于
用户回答回答于

使用IsNull(Column, 0)以确保它总是最小值为0。

用户回答回答于

前面的答案使用ISNULL功能是正确的。大COALESCE职能也将发挥作用。在给定的例子中:

SELECT sum(COALESCE(TotalHoursM,0))
          + COALESCE(TotalHoursT,0)
          + COALESCE(TotalHoursW,0)
          + COALESCE(TotalHoursTH,0)
          + COALESCE(TotalHoursF,0) AS TOTAL FROM LeaveRequest

这与ISNULL唯一不同的是函数的名称。

扫码关注云+社区