【发布时间】:2015-11-12 15:00:06
【问题描述】:
我正在尝试在 SSRS 中生成一份报告,显示一个财政年度内每个季度的一些工作。我将每个公司 FY 的日期/月份存储在数据库中,我使用查询来查找当前或以前的 FY 开始/结束日期。
DECLARE @FirstDate DATETIME
DECLARE @LastDate DATETIME
DECLARE @CurrentDate DATETIME
DECLARE @CompanyID BIGINT
SET @CurrentDate = GETDATE()
SET @CompanyID = 631
SELECT @FirstDate = CASE WHEN DATEFROMPARTS(Year(@CurrentDate), Month(c.FinancialYearStart), Day(c.FinancialYearStart)) <= GETDATE() THEN
-- We are in the right Year
DATEFROMPARTS(Year(@CurrentDate), Month(c.FinancialYearStart), Day(c.FinancialYearStart))
ELSE
-- we need to go back a year
DATEFROMPARTS(Year(@CurrentDate)-1, Month(c.FinancialYearStart), Day(c.FinancialYearStart))
END
, @LastDate = CASE WHEN DATEFROMPARTS(Year(@CurrentDate), Month(c.FinancialYearStart), Day(c.FinancialYearStart)) <= GETDATE() THEN
-- We are in the right Year
DATEADD(day, -1, DATEADD(year, 1, DATEFROMPARTS(Year(@CurrentDate), Month(c.FinancialYearStart), Day(c.FinancialYearStart))))
ELSE
-- we need to go back a year
DATEADD(day, -1, DATEADD(year, 1, DATEFROMPARTS(Year(@CurrentDate)-1, Month(c.FinancialYearStart), Day(c.FinancialYearStart))))
END
FROM tCompany c
WHERE c.ID = @CompanyID
如何从@FirstDate 查询每个季度的 FY?
例如如果一家公司 FY 是 01/04 - 31/03,我如何确定每个季度的月份?
第 1 季度 - 4 月、5 月、6 月 第 2 季度 - 7 月、8 月、9 月 第 3 季度 - 10 月、11 月、12 月 第 4 季度 - 1 月、2 月、3 月
【问题讨论】:
标签: sql sql-server-2014