SQL Server Где дата между началом и датой окончания - PullRequest
4 голосов
/ 21 мая 2011

У меня есть таблица событий, в которой мне нужно выбирать записи между днями.мои высказывания выглядят как

Select 
    Event_ID
    ,Event_Type
    ,Event_Time
From 
    Event_Table
Where 
    CONVERT(char(8),Event_Table.Event_time,112) BETWEEN '20110501' AND '20110505'

Событие имеет формат DateTime.

Теперь все выглядит отлично, если не считать того, что я должен делать, если мне нужно заявление, чтобы запрашивать дату между Date_start и Date_End в любой момент, когда он выполняется.Идея состоит в том, чтобы запросить новую дату в любое время при запуске scrpt

1 Ответ

3 голосов
/ 21 мая 2011
declare @EndDate datetime 
set @EndDate = getdate()

declare @StartDate datetime
set @StartDate= dateadd(day, -5, @EndDate)

select Event_ID, Event_Type, Event_Time
from Event_Table
where 
    Event_Time >= @StartDate and
    Event_Time < @EndDate

, если вам нужно включить @EndDate, тогда

select Event_ID, Event_Type, Event_Time
from Event_Table
where 
    Event_Time >= @StartDate and
    Event_Time < dateadd(day, 1, @EndDate)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...