[求助]怎么写提取字符串的循环
如果表里面有个字段``里面的内容是:成员1,10.成员2,20.成员3,10现在我要把他插入要另外一个表里面去...另个表里面有用户名称,得分2个字段...
就是要成这样:
用户名称 得分
成员1 10
成员2 20
成员3 10
我知道要先找到第一个逗号前面的字串取出名字,然后删掉第一个逗号前面的所有字串
然后再找第一个.号前面的字串取分数,然后删掉.号前面的所有字串
但是这样循环要怎么写啊.....
[此贴子已经被作者于2007-1-24 16:17:09编辑过]
我理解错楼主的意思了.
按照楼主想用的逻辑:
Declare @Str varchar(1000),@Len integer,@User varchar(100),@Score varchar(100)
Set @str = '成员1,10.成员2,20.成员3,10'
Set @Len = Len(@str)
While @Len > 0 and patindex('%,%',@str) > 0
Begin
Set @user = left(@str,patindex('%,%',@str)-1)
Set @Str = Right(@str,len(@str) - patindex('%,%',@str))
Set @Score = left(@str,patindex('%.%',@str)-1)
Set @Str = Right(@str,len(@str) - patindex('%.%',@str))
Set @Len = Len(@Str)
Insert into table2 (User, Score) values (@user, @score)
End
如果@Str从Table1中取出的话 就在外面套一层游标