Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 在Microsoft sql中滚动13周_Sql Server_Week Number - Fatal编程技术网

Sql server 在Microsoft sql中滚动13周

Sql server 在Microsoft sql中滚动13周,sql-server,week-number,Sql Server,Week Number,我正在尝试获取连续13周的数据,但不确定如何正确操作 我试过这个: DATEDIFF(week,Completed_date,GETDATE()) < 13 DATEDIFF(周,完成日期,GETDATE())=dateadd。。。因此可以使用索引。我的查询确实得到了正确的数字,但它持续了14个月。现在不要这样做。问题在于这一个。我希望这将统计过去13周(包括当前一周)每周处理的记录。

我正在尝试获取连续13周的数据,但不确定如何正确操作

我试过这个:

DATEDIFF(week,Completed_date,GETDATE()) < 13 
DATEDIFF(周,完成日期,GETDATE())<13

但是我得到的是14周而不是13周,我想这可能会给我带来不正确的结果,因为它返回了91天,所以可能无法到达一周的开始。

DATEDIFF with week使用日历周。如果您希望这是一个固定的滚动天数,而不是与日历周对齐,那么您可能希望使用day。此外,如果您使用的是GETDATE(),请确保您考虑了一天中的时间

下面这篇文章也能帮你,特别是这句话

指定SET DATEFIRST对DATEDIFF没有影响。DATEDIFF始终 使用星期日作为一周的第一天,以确保功能正常运行 确定性


它是基于
@@Datefirst
查看以下内容:如果这是在where子句中,从性能角度来看,通常最好使用类似CompletedDate>=dateadd。。。因此可以使用索引。我的查询确实得到了正确的数字,但它持续了14个月。现在不要这样做。问题在于这一个。我希望这将统计过去13周(包括当前一周)每周处理的记录。