declare @string varchar(1000)
set @string='aaaa,bbbb,cccc,dddd'creart table #a (a varchar(8000))
set @string='insert #a select * from (select '''+replace(@string,',','''as str union all select ''')+''') a' 
exec(@string)select * from #adrop table #a

解决方案 »

  1.   

    declare @string varchar(1000)
    set @string='aaaa,bbbb,cccc,dddd'create table #a (a varchar(8000))
    set @string='insert #a select * from (select '''+replace(@string,',','''as str union all select ''')+''') a' 
    exec(@string)select * from #adrop table #a
      

  2.   

    谢谢大力,我想知道有没有sql自己带的函数实现
    比如象charindex()len()
      

  3.   

    你必须要charindex()len()来写吗?declare @aa varchar(100),@bb int,@cc int
    set @aa='aaaa,bb,ca s a'set @bb=0
    set @cc=charindex(',',@aa)
    select substring(@aa,@bb,@cc-@bb)
    while @cc>0
    begin
      set @bb=@cc+1
      set @cc=charindex(',',@aa,@bb)
      select substring(@aa,@bb,case when @cc>0 then @cc-@bb else len(@aa) end)
    end