2016-11-28 67 views
-1

我有一個表格,其中每個記錄有多個日期保存在日期列中,例如記錄ID'01'可以有6行,每個日期從2015,2016,2017,2018和2019年。每個記錄ID每年只有一個日期。SQL檢查日期是否存在於未來2年

我有興趣瞭解所有在當年有日期的記錄ID,如果他們在未來2年有日期(即記錄ID有2017到2018年的日期),僅在下一年(記錄ID只有2017年的一個日期)或者僅僅是今年。

我對當年沒有日期的記錄不感興趣,即使他們可能在未來2年有日期。我對3年後可能有日期但未來2年內沒有日期的記錄也不感興趣。

在此先感謝。

+5

請編輯您的問題,並提供示例數據以及您不想查看的行以及原因。你的描述有點難以遵循。另外,你如何在一個*列中保存六個*日期*。這聽起來像是一個非常糟糕的數據格式。你應該重組你的數據。 –

回答

0

根據您的問題。嘗試這個。 已更新。

Select RecordID, Year(DateColumn) 
From table 
Where Year(DateColumn) Between Year(GetDate()) and (Year(GetDate()) + 2)  
Group By RecordID, Year(DateColumn) 
Having Count(1) = 3 
+0

目前還不清楚你期望任何單行的「DateColumn」年同時等於三個不同的值。 –

+0

同意。我發佈後,我注意到了這一點。 –