用Sql存储过程完成,“1,2,3-4,6,7,8-10”,替换为“1,2,3,4,6,7,8,9,10”

declare @s varchar(1000)
declare @s1 varchar(1000)
declare @s2 varchar(4000)
declare @inti int
declare @intj int
declare @intk int
declare @currently varchar(500)
declare @intposition int
set @s='2,3-4,6,7,8-14,'
set @s1=@s
set @s2=''
set @inti=0
set @intj=0
while charindex(',',@s1)>0
begin
 set @currently=left(@s1,charindex(',',@s1)-1)
 set @s1=right(@s1,len(@s1)-charindex(',',@s1))
 if charindex('-',@currently)>0
 begin
  set @inti=left(@currently,charindex('-',@currently)-1)
  set @intj=right(@currently,len(@currently)-charindex('-',@currently))
  while @inti<@intj
  begin
      set @s2=@s2+ ltrim( convert(varchar(20),@inti)) +','
      set @inti=@inti+1
  end
  set @s2=@s2+ ltrim( convert(varchar(20),@inti)) +','
        end
 else
    set @s2=@s2 + @currently +','
end
select @s2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值