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

技术请求:修改SQL查询以包含当前月份,使结果起始为2023P1

修改SQL查询以包含当前月份数据

原查询的问题在于月份偏移量的计算逻辑:ROW_NUMBER() OVER(ORDER BY object_id) * -1会从上个月开始生成日期(因为ROW_NUMBER从1开始,第一个偏移值是-1)。要让结果起始为当前月份,只需调整偏移量的计算方式:

修改后的SQL代码:

SELECT TOP (14) 
    Entity = 'Total_Group'
    , Scenario = 'Actual'
    , Date = TRIM(CAST(YEAR(DATEADD(MONTH, (ROW_NUMBER() OVER(ORDER BY object_id) - 1) * -1, GETDATE())) as CHAR(4))
    + ' P'
    + CAST(MONTH(DATEADD(MONTH, (ROW_NUMBER() OVER(ORDER BY object_id) - 1) * -1, GETDATE())) as VARCHAR(2)))
FROM [sys].[all_objects]

关键修改说明

  • 把原偏移量表达式ROW_NUMBER() * -1改为(ROW_NUMBER() - 1) * -1:
    • 当ROW_NUMBER()为1时,偏移量为0,对应当前月份,这就是结果的起始值;
    • 后续ROW_NUMBER()递增时,偏移量依次为-1、-2...,对应过去的月份;
    • 配合TOP (14),最终会返回当前月份加上过去13个月的日期数据,正好满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 11:25:55