我有事件表,我需要在几天之间选择记录。我的陈述看起来像
Select
Event_ID
,Event_Type
,Event_Time
From
Event_Table
Where
CONVERT(char(8),Event_Table.Event_time,112) BETWEEN '20110501' AND '20110505'
Event_time是DateTime格式。
现在,如果我需要声明在任何时候运行Date_start和Date_End之前请求日期,那么每件事情看起来都很好。我们的想法是在scrpt运行时随时请求新的日期
答案 0 :(得分:3)
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)