如何在SQL中获取历史季度结束日期

时间:2015-10-26 08:20:54

标签: 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

我尝试了几个脚本,但我只能获得当前的季度日期。我无法生成历史季度结束日期列表。

1 个答案:

答案 0 :(得分: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