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

如何生成包含10个逐年递增周期的SQL结果集?

生成递增年份的10行日期数据解决方案

你可以通过构造连续数字序列来批量生成这10行数据,以下是两种适用于SQL Server的实现方式:

方法1:递归CTE

递归CTE能便捷生成连续行号及对应递增日期:

WITH YearlyRows AS (
    -- 初始化行号1的基础数据
    SELECT 
        1 AS RowNumber,
        GETDATE() AS EffectiveFromDate,
        DATEADD(year, 1, GETDATE()) AS EffectiveToDate
    UNION ALL
    -- 递归生成行号2-10的递增数据
    SELECT 
        RowNumber + 1,
        DATEADD(year, 1, EffectiveFromDate),
        DATEADD(year, 1, EffectiveToDate)
    FROM YearlyRows
    WHERE RowNumber < 10
)
SELECT * FROM YearlyRows;

方法2:直接构造数字序列

通过VALUES生成1-10的数字列表,再计算对应日期:

SELECT 
    n AS RowNumber,
    DATEADD(year, n-1, GETDATE()) AS EffectiveFromDate,
    DATEADD(year, n, GETDATE()) AS EffectiveToDate
FROM (
    VALUES (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
) AS Numbers(n);

两种方法都会返回行号1到10的结果,每行的起始日期和结束日期依次递增1年,完全匹配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 21:52:32