计算一行中特定值的SUM,即使其中一些值具有NULL值

时间:2014-05-11 22:59:09

标签: sql-server

这是我的表格:

 CodeID YEAR    Jan Feb Mar Apr May Jun Jul Avgs    Sep Oct Nov Decm
 --------------------------------------------------------------------
 0406384    2014    20  14  14  12  NULL NULL NULL NULL NULL NULL NULL NULL NULL
 0406384    2013    11  NULL 22 13  13  16  14  39  24  20  16  16  215

我想创建一个查询来计算每年所有月份的总和,并将该值添加到新列(SUM_YEAR)中。如果我有一些NULL值,应该忽略它。结果将是:

CodeID  YEAR    Jan Feb Mar Apr May Jun Jul Avgs    Sep Oct Nov Decm SUM_YEAR
-----------------------------------------------------------------------------
0406384 2014    20  14  14  12  NULL NULL NULL NULL NULL NULL NULL NULL NULL 60
0406384 2013    11  NULL 22 13  13  16  14  39  24  20  16  16  204

如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

insert into table (SUM_YEAR) (

SELECT sum(IsNull(Jan,0)) 
         + IsNull(Feb,0) 
......
AS SUM_YEAR FROM table)

答案 1 :(得分:0)

将计算中的空值清零。 e.g。

    SELECT
        SUM(COALESCE(some_column, 0)) AS SUM_YEAR