2015-10-26 39 views
-1

有人可以幫助我使用腳本獲取歷史季度結束日期。如何在SQL中獲取歷史季度結束日期

我基本上在尋找如下的一系列日期;

31/3/2013 
30/6/2013 
30/9/2013 
31/12/2013 
31/3/2014 
30/6/2014 
30/9/2014 
31/12/2014 
31/3/2015 
30/6/2015 
30/9/2015 
31/12/2015 

我試過幾個腳本,但我只能得到當前季度日期。我無法生成歷史季度結束日期列表。

+2

哪個DBMS? (當涉及到日期/時間時,太多產品遠不符合ANSI SQL標準) – jarlh

回答

0

假設你使用SQL Server,你可以使用這個腳本:

DECLARE @DateTable TABLE (InputDate  datetime 
         , QEndDate  datetime) 

DECLARE @QDate datetime = '20130101' 

WHILE @QDate < GETDATE() 
BEGIN 
    INSERT INTO @DateTable 
    SELECT  @QDate 
       , DATEADD(DAY, -1, DATEADD(QUARTER, DATEDIFF(QUARTER, 0, @QDate) + 1, 0)) 
    SET   @QDate = DATEADD(MONTH, 3, @QDate) 
END 

SELECT * FROM @DateTable 
相關問題