截取子字符串(分隔符数未知)

declare @STR VARCHAR(50),
        
@STR2 VARCHAR(50),
        
@RESULT VARCHAR(50),
        
@I INT,
        
@J INT
       
SET @STR = '100*50*20*1*2*3*44*555*666*7777*88888'
SET @RESULT = ''
SET @I = 1
SET @J = 1

IF NOT (RIGHT(@STR,1= '*')
BEGIN
  
SELECT @STR = @STR + '*'
END 

WHILE NOT (CHARINDEX('*',@STR,@I= 0)
BEGIN
  
SELECT @STR2 = SUBSTRING(@STR@I, (CHARINDEX('*',@STR,@I)) - LEN(@RESULT- @J)
  
PRINT @STR2
  
SELECT @RESULT = RTRIM(CAST(@RESULT AS CHAR)) + RTRIM(CAST(@STR2 AS CHAR))
  
--PRINT @RESULT
  SELECT @I = LEN(@RESULT+ @J + 1 
  
SELECT @J = @J + 1 
END 

转载于:https://www.cnblogs.com/safezone/articles/1251257.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值