根据给定的日期,计算该日期在本月所在周数,每周的第一天为周日。但是在月末需要与下个月进行衔接,如
图2012年2月份,3月份的1、2、3号为2月份的第4周。而2月份的1、2、3、4为1月份的最后一周(第五周)。
declare @datetime varchar(50)
select @datetime = '2012-02-1'
select dateadd(day,1-(datepart(weekday,@datetime)),@datetime) as dStartDate, ----取本周开始日期
dateadd(day,1-(datepart(weekday,@datetime))+6,@datetime) as dEndDate,----取本周截至日期
datepart(year,dateadd(day,1-(datepart(weekday,@datetime)),@datetime)) as iYear,----取所在年份
datepart(month,dateadd(day,1-(datepart(weekday,@datetime)),@datetime)) as iMonth,----取所在月份
datepart(day,dateadd(day,1-(datepart(weekday,@datetime)),@datetime))/7 + 1 as iWeekNum ----所在周数