You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取2019年至当前年度的动态财年SQL查询语句

生成2019年至当前财年的序列SQL查询

完整解决方案代码

-- 计算当前财年的起始年份
DECLARE @CurrentFYStartYear INT = 
    CASE 
        WHEN MONTH(GETDATE()) BETWEEN 4 AND 12 THEN YEAR(GETDATE())
        ELSE YEAR(GETDATE()) - 1
    END;

-- 递归生成2019至当前财年的所有财年序列
WITH FYSequence AS (
    SELECT 2019 AS FYStartYear
    UNION ALL
    SELECT FYStartYear + 1
    FROM FYSequence
    WHERE FYStartYear < @CurrentFYStartYear
)
SELECT CONVERT(VARCHAR(4), FYStartYear) + '-' + CONVERT(VARCHAR(4), FYStartYear + 1) AS F_YEAR
FROM FYSequence
ORDER BY F_YEAR;

逻辑说明

  1. 确定当前财年起始年:根据当前系统月份判断,4-12月的财年起始年为当年,1-3月则为上一年,确保财年判断符合动态规则。
  2. 生成年份序列:用递归CTE从2019开始,逐年递增直到当前财年起始年,得到连续的年份范围。
  3. 拼接财年格式:将每个起始年份与下一年拼接成YYYY-YYYY的字符串格式,最终输出符合要求的财年列表。

原代码问题说明

你原来的查询只能返回单个当前财年,无法生成从2019年开始的连续财年序列。要实现批量生成,必须先构建年份范围的数据集,再进行格式拼接。

内容的提问来源于stack exchange,提问作者anilkumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:31:35