2016-04-22 172 views

回答

0

为了得到当前一周的STARTINGDATE你可以使用这个公式:

SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0) MondayOfCurrentWeek 

所以,如果表中有一个CallDateTime字段,查询可能是:

select datepart(wk, CallDateTime) as Week, 
datepart(day, DATEADD(week, DATEDIFF(week, 0, CallDateTime), 0)) WeekMonday, 
datepart(day, DATEADD(week, DATEDIFF(week, 0, CallDateTime), 0)) WeekMonth, 
datepart(year, CallDateTime) as Year, 
count(*) as TotalCalls 
from CallTable 
group by datepart(wk, CallDateTime), 
datepart(day, DATEADD(week, DATEDIFF(week, 0, CallDateTime), 0)), 
datepart(day, DATEADD(week, DATEDIFF(week, 0, CallDateTime), 0)), 
datepart(year, CallDateTime) 
相关问题