查找以前的星期日算法

pha*_*unk 6 t-sql date sql-server-2008

我在网上找到了几个例子,但我不太明白它是如何工作的.例如

     SELECT DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)
Run Code Online (Sandbox Code Playgroud)

我甚至不确定它是否符合我的要求.

我需要的是,当执行查询时,它可以SELECT * from xTable WHERE xDate在两个日期之间.上周日和下周日(本周).我可以用什么来自动找到它?请解释因为我是SQL的新手.

pha*_*unk 4

我更深入地试图理解这个查询

 SELECT DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)
Run Code Online (Sandbox Code Playgroud)

并用它来检索上周一。现在我只需DATEADD再多 6 天就可以得到完整的一周。

我使用的解决方案:

       Set @Monday =  DATEADD(ww, DATEDIFF(ww,0,GETDATE()), 0)
       Set @Sunday =  DATEADD(dd, 06, @Monday)
Run Code Online (Sandbox Code Playgroud)

问题解决了。