SqlServer 查询当月数据,并显示当天日期数据,当天数据不存在补空

select b.times,isnull(表名.金额,0)as 金额 from(SELECT 
        CONVERT(DATE, DATEADD(DAY, number, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0))) AS times
    FROM master..spt_values
    WHERE type = 'p' 
      AND number >= 0 
      AND DATEADD(DAY, number, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)) <= CAST(DATEADD(DAY, -1, DATEADD(MONTH, 1, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0))) AS DATE)
)b
left join 表名
on 表名.times=b.times
order by times

b表为master..spt_values系统表,生成的当月日期

d708d325-3db3-4d54-aa91-20e6ed2b4250

测试如下2026-10-01至31号

 

posted @ 2026-10-03 01:19  你好柴九  阅读(6)  评论(0)    收藏  举报