declare @tmpdate datetime
select @tmpdate=dateadd(week,2,'2010-08-26')
select @tmpdate=getdate()
--select datepart(weekday,@tmpdate)
--当周第一天(星期一为一周的第一天):
select dateadd(day,-datepart(weekday,@tmpdate)+2,@tmpdate)
--当周最后一天(星期一为一周的第一天):
select dateadd(day,8-datepart(weekday,@tmpdate),@tmpdate)
--当月第一天
select dateadd(day,-day(@tmpdate)+1,@tmpdate)
--当月最后一天(注意是在当月的下一月第一天减一天即为当月的最后一天)
select dateadd(day,-day(dateadd(m,1,@wDate)),dateadd(m,1,@wDate))
--当季的第一天
SELECT DATEADD(qq, DATEDIFF(qq,0,getdate()), 0)
--当年的第一天
SELECT DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)
--计算一月有多少天
select date = @tmpdate, days = 32 - day(@tmpdate + 32 - day(@tmpdate))