如何根据给定的日期在SQL中获得当前周范围?目前正在使用以下查询,该查询提供了不正确的结果集。
Declare @dt date = '1994-08-27'
SELECT [start_of_week] = DATEADD(WEEK, DATEDIFF(WEEK, @dt, CURRENT_TIMESTAMP), @dt);请查看图像以获得预期结果集的详细信息:

发布于 2016-06-05 23:08:33
要获得本周的第一天,请尝试如下:
DECLARE @dt DATE = '1994-08-27'
SET @StartOfWeek = DATEADD(ww, DATEDIFF(ww, 0, @dt), 0)信息: 1994-08-27周的第一天是1994-08-22.
发布于 2016-06-05 22:13:26
您可以获得一周中的一天,并使用它返回到您想要的日期(在本例中为星期日)。
在MySQL方言中,如下所示:
SELECT DATE_SUB(NOW(),INTERVAL DAYOFWEEK(NOW())-1 DAY);星期天是第一天,这就是为什么- 1在那里。现在()只是现在,所以你可以很容易地用你自己的日期来代替它。
https://stackoverflow.com/questions/37647219
复制相似问题