set datefirst 1 select date from( select dateadd(dd,number,'2011-01-01') date from master..spt_values where [type] = 'p' and number >= 0 and number < datediff(dd,'2011-01-01','2012-01-01') ) t where datepart(week,date) = 46
借助AcHerat #2楼set datefirst 1 select MIN(date) as firstdate,MAX(date) as lastdate from( select date from( select dateadd(dd,number,'2011-01-01') date from master..spt_values where [type] = 'p' and number >= 0 and number < datediff(dd,'2011-01-01','2012-01-01') ) t where datepart(week,date) = 46) a
select dateadd(d,46*7,'2011-01-01') 第一天的,最后一天的也怎么算
set datefirst 1
select date
from(
select dateadd(dd,number,'2011-01-01') date
from master..spt_values
where [type] = 'p' and number >= 0 and number < datediff(dd,'2011-01-01','2012-01-01')
) t
where datepart(week,date) = 46
select dateadd(d,46*7+1,'2011-01-01')
select dateadd(d,46*7+7,'2011-01-01')
参考#3
借助AcHerat
#2楼set datefirst 1
select MIN(date) as firstdate,MAX(date) as lastdate from(
select date
from(
select dateadd(dd,number,'2011-01-01') date
from master..spt_values
where [type] = 'p' and number >= 0 and number < datediff(dd,'2011-01-01','2012-01-01')
) t
where datepart(week,date) = 46) a