2011-08-05 105 views
1

我需要根據開始日期和結束日期檢索特定消息。 該表由多行消息組成,每個消息都分配了特定的開始日期和結束日期。 sql應該將當前日期與開始日期和結束日期進行比較,如果它與開始日期相匹配,則它應該只顯示該特定消息。在當前日期超過截止日期應該不會顯示該消息根據開始日期和結束日期顯示消息

+0

你可以提供一個數據表模式 – sll

回答

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 
+0

我仍然看不到消息顯示 – riya

+0

我的專欄是消息,startdate,已停止吃和當前日期。您的代碼只顯示列名稱消息,但不顯示特定消息 – riya

+0

爲什麼需要column currentDate?無論如何,如果你有這樣的列,然後將WHERE子句'@currentDate'更改爲'當前日期' – sll

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 
相關問題