SQL Server:查询返回月份名称而不是数字

时间:2015-08-07 03:45:59

标签: sql sql-server sql-server-2008

我的目标是返回一行包含Year列的月份名称。这是为了获得每年和每月表中一个特定租户的销售总额。

我已经开始使用此代码了

select   
    month(date) month,
    isnull(sum(case when year(DATE) = 2015 then sales end), 0) as '2015'
from 
    tblSales
where 
    tenantcode = 'cmbina13'
group by  
    month(date)
order by 
    month(date)

我得到了这个结果:

enter image description here

数字是正确的。但是我想让月份列变成月份名称。如下图所示,作为所需的输出

enter image description here

2 个答案:

答案 0 :(得分:4)

而不是 inspect(person.__class__).hybrid_properties 函数使用Datename函数与Month datepart

Month

答案 1 :(得分:1)

SELECT      DATENAME(mm, date) AS MName
            ,ISNULL(SUM(CASE WHEN YEAR(GETDATE()) = 2015 then sales end), 0) AS '2015'
FROM        tblSales
WHERE       tenantcode = 'cmbina13'
GROUP BY    DATENAME(mm, date)
order by    DATENAME(mm, date)