我有一个包含日期字段的表+一个名为WeekDayID的字段(sun = 0,mon = 1,tue = 2,wed = 3,thu = 4,fri = 5,sat = 6)+其他字段(不重要),我需要两份报告:
1.基于月份
2.基于一周
我已完成报告编号1
我的问题是如何实现报告2,我需要一些能够给我这个的东西:
假设我们的日期是2001/01/01至2001/01/31
我希望按周分组,例如,如果2001/01/01是星期日,我想要像以下这样的群组:
第1周:2001/01/01 - 2001/01/02 - ... - 2001/01/07
第二周:2001/01/08 - ...... - 2001/01/14
第3周:2001/01/15 - ... - 2001/01/21
第4周:2001/01/22 - ... - 2001/01/28
第5周:2001/01/29 - 2001/01/30 - 2001/01/31
答案 0 :(得分:1)
对于周数,您可以使用值为'ww'的Datepart函数作为第一个参数:
SELECT Datepart(ww, myDate) FROM myTable
对于日期范围,您可以做一些数学技巧:在工作日减去你的日期以获得一周的第一天:
SELECT DateAdd(day, - DatePart(weekday, myDate), myDate) Week_Start
from myTable
这里有一个指向DatePart函数的链接: