declare @date datetime set @date='2009-02-05' select [day]=convert(varchar,DATEADD(mm,DATEDIFF(mm,0,@date),0)+number,112) from master..spt_values where type='p' and number< datediff(dd,@date,dateadd(mm,1,@date)) /* day 20090201 20090202 20090203 20090204 20090205 20090206 20090207 20090208 20090209 20090210 20090211 20090212 20090213 20090214 20090215 20090216 20090217 20090218 20090219 20090220 20090221 20090222 20090223 20090224 20090225 20090226 20090227 20090228 */