获取SQL Server当年的每个月

时间:2019-05-21 15:04:18

标签: sql sql-server

我正在使用以下代码在SQL Server中获取当前一周中每天的日期:

SELECT 
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) Monday,
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) + 1 Tuesday,
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) + 2 Wednsday,
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) + 3 Thursday,
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) + 4 Friday,
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) + 5 Saturday,
    DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0) + 6 Sunday;

我正在使用此查询来填充asp.net应用程序中的条形图。

我需要同样的东西,但是要用当年的几个月。

可以帮我吗?

编辑:更像是查询来检索今年每个月的数据。

1 个答案:

答案 0 :(得分:0)

这将返回当年每月的第一天和最后一天。

select FirstDay = dateadd(month, thisMonth - 1, dateadd(year, datediff(year, 0, getdate()), 0))
    , LastDay = dateadd(day, -1, dateadd(month, thisMonth, dateadd(year, datediff(year, 0, getdate()), 0)))
from
(
    values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10),(11),(12)
) x(thisMonth)