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