根据开始日期和停止日期显示消息

时间:2011-08-05 19:29:47

标签: sql tsql sql-server-2008

我需要根据开始日期和结束日期检索特定邮件。 该表由消息行组成,每行消息分配给特定的开始日期和停止日期。 sql应该将当前日期与开始日期和停止日期进行比较,如果匹配开始日期,它应该只显示该特定消息。当前日期超过停止日期

时,不应显示该消息

2 个答案:

答案 0 :(得分:3)

假设表

Column Name | Type
StartDate   | DateTime
StopDate    | DateTime
Message     | no matter

SQL:

-- cache to optimize performance
DECLARE @currentDate DateTime
SET @currentDate = GETDATE()


SELECT message 
FROM dataTable
WHERE @currentDate < StopDate AND @currentDate = StartDate

答案 1 :(得分:0)

一个例子

declare @date datetime
select @date = getdate()
declare @table table (FromDate datetime, ToDate datetime, mesg varchar(50))


insert @table values('2008','12-31-2010', 'once')
insert @table values('01-01-2011','12-31-2011', 'this year')
insert @table values('01-01-2012','12-31-2015', 'future')

select mesg from @table where @date between FromDate and ToDate