как получить даты последних выходных с сегодняшнего дня до даты последних 7 дней - PullRequest
0 голосов
/ 05 июня 2010

у меня есть таблица с колонкой:

Registereddate          orgid

2010-06-05 10:16:00     1
2010-06-05 10:10:00     2
2010-06-04 22:31:00     3
...                     .
.                       .....
.
.
.

Мне нужно получить только даты последних выходных и оргию с сегодняшнего дня на дату последних 7 дней.

1 Ответ

3 голосов
/ 05 июня 2010

Примерно так:

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())
...