declare @BeginDate datetime
set @BeginDate='2018-01-01'
select convert(char(10),dateadd(dd,number,convert(varchar(8),@BeginDate,120)+'01'),120) as dt
from master..spt_values
2018-01-04
2018-01-05
2018-01-06
set @BeginDate='2018-01-01'
select convert(char(10),dateadd(dd,number,convert(varchar(8),@BeginDate,120)+'01'),120) as dt
from master..spt_values
where type='P'
结果
2018-01-01
2018-01-02
2018-01-032018-01-04
2018-01-05
2018-01-06
2018-01-07
.
.
.