select dateadd(day, number, '2010-02-01') as date from master.dbo.spt_values where type = 'P' and dateadd(day, number, '2010-02-01') < '2010-03-01'
select date, datename(weekday, date) as week from ( select dateadd(day, number, '2010-02-01') as date from master.dbo.spt_values where type = 'P' and dateadd(day, number, '2010-02-01') < '2010-03-01' ) as t
where type = 'P' and dateadd(day, number, '2010-02-01') < '2010-03-01'
(
select dateadd(day, number, '2010-02-01') as date from master.dbo.spt_values
where type = 'P' and dateadd(day, number, '2010-02-01') < '2010-03-01'
) as t
---
把这个当数字表了,type='P'时它的number属于[0, 2047]你可以另建一个0-30的数字表代替。