各位帮帮忙嘛!
帮我做一道题!
我用的是以下这种语句,但是我写的里面有欠缺,达不到我要的结果。你们帮我改下嘛!谢谢了!
这串随机字符是逗号分隔的,老师说要用CHARINDEX来实现。
declare @a varchar(128),@b int,@c varchar(1)
set @a='aghkigftu,okhlllllllhp,fukkkkkmjg,cftvbhjn,cv,oijghfdjjl,[piojigtd,zxcvbnm,wqertyuiop,mlkhjggffjgffyui,10253,987456321,7414,'
set @b=1
set @c=''
while (@b<=len(@a))
begin
set @c= substring(@a,@b,1)
if @c!= ','
print @c set @b=@b+1

end我想要的结果:aghkigftu
okhlllllllhp
fukkkkkmjg
cftvbhjn
cv
oijghfdjjl
piojigtd
zxcvbnm
wqertyuiop
mlkhjggffjgffyui
10253
987456321
7414

解决方案 »

  1.   

    declare @a varchar(128)
    set @a='aghkigftu,okhlllllllhp,fukkkkkmjg,cftvbhjn,cv,oijghfdjjl,
    [piojigtd,zxcvbnm,wqertyuiop,mlkhjggffjgffyui,10253,987456321,7414,'while len(@a)>1
    begin
    print left(@a,charindex(',',@a)-1)
    set @a= right(@a,len(@a)-charindex(',',@a))
    end
      

  2.   

    请问一下!
    如果要用CHARINDEX和substring函数应该怎么实现呢?
      

  3.   

    declare @i int
    set @i=0
    while (@i<len(@s))
    begin
       select substring(@s,@i,charindex(',',@s,@i))
       select @i=charindex(',',@s,@i)
    end没有测试,