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

SQL如何基于固定增量划分数值区间 不使用parts参数分段

固定增量连续区间划分SQL实现

核心调整逻辑

  • 移除原有依赖parts分段数计算增量的逻辑,直接传入固定增量值完成划分,避免分段数固定导致的区间长度不符合业务要求的问题
  • 区间首尾严格对齐传入的最小、最大边界,最后一段不足固定增量长度时,自动截断到最大值
  • 相邻区间连续无重叠,后一段起始值固定为前一段结束值+1

调整后可直接运行的SQL代码

declare @min numeric(18,0)
declare @max numeric(18,0)
-- 直接指定固定增量值,已移除parts相关参数
declare @increment int = 10

select @min = 100 ,@max = 204

-- 临时表存储划分结果,支持直接查询返回结构化数据
create table #range_result (FromVal numeric(18,0), ToVal numeric(18,0))

while @max >= @min
begin
    declare @currentTo numeric(18,0)
    -- 尾段自动截断:当前段计算结束值超过最大值时,直接取最大值作为段终点
    if @min + @increment > @max
        set @currentTo = @max
    else
        set @currentTo = @min + @increment

    insert into #range_result values (@min, @currentTo)
    -- 下一段起点衔接当前段终点,保证区间连续无重叠
    set @min = @currentTo + 1
end

-- 输出最终划分结果
select FromVal as [From], ToVal as [To] from #range_result
drop table #range_result

执行效果

传入@min=100、@max=204、@increment=10时,输出完全匹配预期:

From  To
--------
100   110
111   121
122   132
133   143
144   154
155   165
166   176
177   187
188   198
199   204

使用说明

  • 业务使用时直接修改@min、@max、@increment三个入参的值即可,不需要调整其他逻辑
  • 增量值支持传入任意正整数(如10、100),最终返回的区间行数会根据边界差值和增量值自动计算,不受固定分段数限制

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 19:09:24