我需要一些帮助,在SQL Server中编写SQL,我需要按周计算行数。关于周的一周有一个棘手的描述 - 对于2015年8月13日之前的任何日期,本周为7天(即从星期四到星期三) - 对于2015年8月13日的日期,本周被视为每周9天(即周四至周五,因此在2015年8月1日至2015年8月21日之间) - 对于2015年8月22日的日期,本周将回到7天(即周六至周五)
现在说了以上所有我希望在报告中看到的结果是以下方式。注意:下面附图中的WE栏是该范围的一周的最后一天。
答案 0 :(得分:0)
只需为3种不同选项编写案例陈述。您可以通过以下内容找到开始日期:
DATEADD(week, DATEDIFF(day, 3,getdate()) / 7, 3) -- Thursdays
DATEADD(week, DATEDIFF(day, 5,getdate()) / 7, 5) -- Saturdays
数字3和5来自于第0天(= 1.1.1900)是星期一。
如果你经常使用它,最好编写一个内联表值函数来返回你需要的日期。