0
DATA:TSQL比較日期範圍
DECLARE @rundate datetime = GETDATE()
DECLARE @DatesTable TABLE (name varchar(200),STARTDATE datetime,ENDDATE datetime)
INSERT INTO @DatesTable VALUES('campaign1',GETDATE(),GETDATE()+10)
INSERT INTO @DatesTable
VALUES('campaign2',GETDATE()+11,GETDATE()+13)
對於上述數據我有2週上運行的一個接一個有效的廣告活動。 對於給定的日期(rundate)我需要選擇一個有效的競選該@rundate適用從@DatesTable。
基本上結束日期看取決於下一個活動的開始日期,並找出爲其競選@rundate是有效的,並且結果返回。
如果沒有返回結果,那麼最後一次競選需要返回。
你的所有列'datetime'。我們應該忽略時間組件嗎? –
是 - 時間總是將是00:00:00.000 –
如果你需要知道,如果記錄在表中的運動@@ DatesTable是在特定日期(這是擺在@@ rundate變量)運行? – ahPo