截取子字符串(分隔符数未知)
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
![](/Images/OutliningIndicators/None.gif)
IF NOT (RIGHT(@STR,1) = '*')
BEGIN
SELECT @STR = @STR + '*'
END
![](/Images/OutliningIndicators/None.gif)
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
posted @
2008-07-25 13:20
威尼斯的夏天
阅读(
337)
评论()
编辑
收藏
举报