2017-03-28 22 views
1

在我的表中,我有一個名爲APPDATE的日期列,我想用它來限制查詢只返回最後2個完整月份。僅返回前一個完整月份的SQL

例如,今天是28/03/17,我想查詢只從2017年和2017年和一月返回數據從包括任何數據2017年3月

請問我該怎麼做?

在我嘗試了一下:

APPDATE > DATEADD(MONTH, -2, GETDATE()) 

,其中包括:(三月

回答

1

請嘗試以下WHERE條款:

WHERE APPDATE < DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) AND 
     APPDATE >= DATEADD(MONTH, -2, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0)) 

假設當前日期是三月,那麼此邏輯將保留所有記錄早於3月1日並且大於或等於1月1日。

+0

完美,投票了。但不到15代表所以不會顯示。 –

相關問題