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系统表,生成的当月日期

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

浙公网安备 33010602011771号