SQL字符串分割方法

--方法一:
DECLARE @id VARCHAR(200)
DECLARE @idlist VARCHAR(500) = '1,2,3,5,6,8,9,10,11,12,14,15,16,17,18,19,20'
WHILE LEN(@idlist) > 0
BEGIN
  IF CHARINDEX(',',@idlist) > 0
     SET @id = SUBSTRING(@idlist,0,CHARINDEX(',',@idlist))
  ELSE
  BEGIN
        SET @id = @idlist
        SET @idlist = ''
    END
    PRINT (@id)
  --SET @idlist = REPLACE(@idlist,@id + ',' , '') --用replace会出现意外
    set @IDList = stuff(@IDList,1,charindex(',',@IDList),'') 
END

--方法二:
DECLARE @IDList VARCHAR(200)
DECLARE @sTempData VARCHAR(50)
DECLARE @Iindex INT
SET @IDList = '1,2,3,5,6,8,9,10,11,12,14,15,16,17,18,19,20'
WHILE CHARINDEX(',', @IDList) > 0 
BEGIN
SET @Iindex = CHARINDEX(',', @IDList)
SET @sTempData = SUBSTRING(@IDList, 0, @Iindex )
--SET @IDList = SUBSTRING(@IDList, @Iindex + 1, LEN(@IDList) - @Iindex)
set @IDList = stuff(@IDList,1,charindex(',',@IDList),'') 
PRINT(@sTempData)
END
PRINT(@IDList)

效果截图:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值