SQL - Select 在当前周数和晚三周之间
SQL - Select between current week number and three weeks behind
说到SQL,我不是很好。我正在尝试获取过去三周的数据。我可以获得当前的周数,但真的不知道如何减去它以便它返回三周并获取该时期的所有数据。
这是我当前的代码。我可以让它使用固定数字(在本例中为 42),但这不是我想要的。
输出应该是这样的:
也就是说,如果您使用的是 SQL 服务器,我相信您正在寻找的功能是 DATEPART。看看这是否满足您的需要:
SELECT *
FROM tblData
WHERE fldWeekNum BETWEEN DATEPART(WEEK, GETDATE())-3 AND DATEPART(WEEK, GETDATE())
编辑:
根据下面的评论,让我们尝试从当前日期减去 3 周,然后从该日期得到 WEEK
的 DATEPART
。这取决于 fldWeekNum
的计算方式,因此可能需要在此基础上进行一些额外的调整。
SELECT *
FROM tblData
WHERE fldWeekNum
BETWEEN
DATEPART(WEEK,DATEADD(WEEK, -3, GETDATE()))
AND
DATEPART(WEEK, GETDATE());
说到SQL,我不是很好。我正在尝试获取过去三周的数据。我可以获得当前的周数,但真的不知道如何减去它以便它返回三周并获取该时期的所有数据。
这是我当前的代码。我可以让它使用固定数字(在本例中为 42),但这不是我想要的。
输出应该是这样的:
也就是说,如果您使用的是 SQL 服务器,我相信您正在寻找的功能是 DATEPART。看看这是否满足您的需要:
SELECT *
FROM tblData
WHERE fldWeekNum BETWEEN DATEPART(WEEK, GETDATE())-3 AND DATEPART(WEEK, GETDATE())
编辑:
根据下面的评论,让我们尝试从当前日期减去 3 周,然后从该日期得到 WEEK
的 DATEPART
。这取决于 fldWeekNum
的计算方式,因此可能需要在此基础上进行一些额外的调整。
SELECT *
FROM tblData
WHERE fldWeekNum
BETWEEN
DATEPART(WEEK,DATEADD(WEEK, -3, GETDATE()))
AND
DATEPART(WEEK, GETDATE());