Мне нужны данные с предыдущего понедельника по субботу, когда я запускаю свой интерфейс во вторник в 1:30. приведен пример запроса - PullRequest
0 голосов
/ 11 октября 2019
select *
from VP_TIMESHTPUNCHV42
where  (EVENTDATE>=getdate()-8) AND (EVENTDATE <=getdate()-3)
AND PERSONNUM = '668795'

так должно быть -9 или -8 здесь? Пожалуйста, помогите мне понять даты и какие даты будут включены сюда? Если мой вторник 15 октября, а предыдущий суббота - 12 октября, а понедельник - 7 октября, мне нужны данные с понедельника 7 октября по субботу 12 октября

1 Ответ

0 голосов
/ 11 октября 2019

, если вы хотите получить данные с понедельника по субботу. WeekDay - от 2 (понедельник) до 7 (суббота)

select *
from VP_TIMESHTPUNCHV42
where datepart(weekday, EVENTDATE) between 2 and 7 AND PERSONNUM = '668795'

или (только в течение этой недели)

select *
from VP_TIMESHTPUNCHV42
where EVENTDATE between getdate() - 1 and getdate() + 5 AND PERSONNUM = '668795' 

select *
from VP_TIMESHTPUNCHV42
where EVENTDATE between dateadd(day, -1, cast(getdate() as date)) and dateadd(day, 5, cast(getdate() as date)) 
and PERSONNUM = '668795'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...