27,579
社区成员
发帖
与我相关
我的任务
分享
select dateadd(wk, datediff(wk,0,convert(datetime,'2014/01/01')+(12-1)*7), 0), dateadd(wk, datediff(wk,0,convert(datetime,'2014/01/01')+(12-1)*7), 6)
这个是周一到周日的,如果要看周日到周六的,两个字段都减1。
要查第几周,就将上面的12改成相应的周数。
;WITH TT
AS(
SELECT DATEADD(dd, number, '2014-01-01') AS dd
FROM master..spt_values
WHERE type = 'P')
SELECT MIN(dd) AS 起始日期 ,MAX(dd) AS 终止日期 from TT WHERE DATEPART(wk,dd)=12 AND YEAR(dd)=2014
/*起始日期 终止日期
2014-03-16 00:00:00.000 2014-03-22 00:00:00.000*/