请问这个函数怎么写,我怎么也调不通。
比如有这样一个字符串'B0301075,WT0209006,WT0212197,WT0301008,WT0301013,WT0301043,WT0301061'
我想用逗号作分隔符,把它拆开
即
B0301075
WT0209006
WT0212197
WT0301008
WT0301013
……
我的想法是用substring判断逗号的绝对位置(@position1)和每次找到逗号的相对位置(@position2),再用substring将它取出来,我觉得没错,但我没调通,哪位高手帮忙看哪有问题,代码如下:
DECLARE @position1 int,@position2 int, @string char(90),@num int
SET @position1 = 1
set @num = 0
set @position2 = 1
SET @string = 'B0301075,WT0209006,WT0212197,WT0301008,WT03,,,,01013,WT0301043,WT0301061'
WHILE @position1 <= DATALENGTH(@string)
BEGIN
if CHAR(ASCII(SUBSTRING(@string, @position1, 1)))=','
set @num = @num+1
set @position2 = 1
SET @position1 = @position1 + 1
--select @position2
select char(ascII(substring(@string,@position1-@position2+1,@position2-1)))
select @position2
select @num
else
set @position2 = @position2 + 1
SET @position1 = @position1 + 1
END
其中@num是查找逗号的个数。