我有一个包含列的表:
Registereddate orgid
2010-06-05 10:16:00 1
2010-06-05 10:10:00 2
2010-06-04 22:31:00 3
... .
. .....
.
.
.
我需要获得最后的weeek日期,并且从今天开始到过去7天的日期。
答案 0 :(得分:3)
这样的事情:
select Registereddate, orgid
from your_table
where Registereddate > DATEADD(day, -7, GETDATE())
and DATEPART(week, Registereddate) = DATEPART(week, GETDATE())
此查询将返回所有注册日期晚于当前日期/时间之前7天的记录。
如果您不希望将时间考虑在内,那么尝试这样的事情(由于日期数据类型转换,仅适用于2008年):
select Registereddate, orgid
from your_table
where Registereddate > DATEADD(day, -7, cast(GETDATE() as date))
and DATEPART(week, Registereddate) = DATEPART(week, GETDATE())
这是没有2005年时间的版本:
select Registereddate, orgid
from your_table
where Registereddate > DATEADD(day, -7, CONVERT(datetime, CONVERT(char(10), GETDATE(),
101)))
and DATEPART(week, Registereddate) = DATEPART(week, GETDATE())