如何获得上周日期从今天到最后7天的日期

时间:2010-06-05 10:35:30

标签: sql datetime stored-procedures

我有一个包含列的表:

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天的日期。

1 个答案:

答案 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())