SQL表按行更新,每月天数

时间:2014-08-26 19:17:58

标签: sql sql-server-2005 sql-update

SQL Server 2005:

我正在尝试创建一个如下所示的表:

                         JAN  |   FEB    |   March .......Dec   | YTD
Total Volume: 

Days in Month:

Gallons per day AVG:

左边有三行描述,13列(每个月一个,年份总计)。 我知道如何填充每月的总量。我每月和平均每天会使用什么?我希望每月的天数显示过去一个月的完整天数或当前月份的当前完成天数。

1 个答案:

答案 0 :(得分:0)

您正在转动数据,因此您希望将结果放在列中。您可以使用直接计算来完成此操作。以下是前三个月的示例:

select 'Days In Month' as col1,
       (case when month(getdate()) < 1 then 0
             when month(getdate()) = 1 then day(getdate())
             else 31
        end) as Jan,
       (case when month(getdate()) < 2 then 0
             when month(getdate()) = 2 then day(getdate())
             when year(getdate()) % 4 = 0 then 29
             else 28
        end) as Feb,
       (case when month(getdate()) < 3 then 0
             when month(getdate()) = 3 then day(getdate())
             else 31
        end) as Mar,