【问题标题】:How to pull First Date of a Fiscal Week calendar如何提取财政周日历的第一个日期
【发布时间】:2013-08-29 21:39:50
【问题描述】:

我在 SQL Server 2012 Express 中有一个会计日历表。我希望能够提取每周的第一个日期并从下周开始连续显示它们。意思是,我希望第一行显示 2013 年 9 月 2 日,然后是 2013 年 9 月 9 日、2013 年 9 月 16 日等。这是我如何构建表格以及一些数据。

[dbo].[FiscalCalendar](
    [FiscalDate] [datetime] NULL,
    [FiscalWeekNum] [smallint] NULL,
    [FiscalMonthNum] [smallint] NULL,
    [FiscalMonthName] [varchar](9) NULL,
    [FiscalYear] [smallint] NULL

FiscalDate          FiscalWeekNum   FiscalMonthNum  FiscalMonthName FiscalYear
2013-09-02 00:00:00.000 36          9           September   2013
2013-09-03 00:00:00.000 36          9           September   2013
2013-09-04 00:00:00.000 36          9           September   2013
2013-09-05 00:00:00.000 36          9           September   2013
2013-09-06 00:00:00.000 36          9           September   2013
2013-09-07 00:00:00.000 36          9           September   2013
2013-09-08 00:00:00.000 36          9           September   2013
2013-09-09 00:00:00.000 37          9           September   2013
2013-09-10 00:00:00.000 37          9           September   2013
2013-09-11 00:00:00.000 37          9           September   2013
2013-09-12 00:00:00.000 37          9           September   2013
2013-09-13 00:00:00.000 37          9           September   2013
2013-09-14 00:00:00.000 37          9           September   2013
2013-09-15 00:00:00.000 37          9           September   2013

【问题讨论】:

    标签: tsql sql-server-2012-express


    【解决方案1】:
    SET DATEFIRST 7;
    
    ;WITH x AS 
    (
      SELECT <cols>, rn = ROW_NUMBER() OVER 
        (PARTITION BY FiscalWeekNum ORDER BY FiscalDate)
      FROM dbo.FiscalCalendar
      WHERE FiscalDate >= CONVERT(DATE, GETDATE())
        AND DATEPART(WEEKDAY, FiscalDate) = 2
    )
    SELECT <cols> FROM x WHERE rn = 1;
    

    【讨论】:

    • 效果很好,但我也需要进入明年,它似乎停止在 52 周......
    • 好的,现在我需要知道如何提取每个日期以获得行标题。我希望得到星期:2013 年 9 月 2 日,星期:2013 年 9 月 9 日,等等。
    • 你的意思是 column 标题吗?也许你应该开始一个新问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多