把这段字符串切拆分 是程序做还是sql做?
后者,可以使用 字符串定位函数 写一个处理函数,也可以把a拼凑为一个sql(insert tb (f) values (1,2,3,4))再执行

解决方案 »

  1.   

    可以写一个split的函数切割后再插入一张表。。
      

  2.   

    拆分:
    declare @a varchar(100)set @a='1,2,3,4'select 
           v,
           SUBSTRING(t.v, number ,CHARINDEX(',',t.v+',',number)-number)
    from 
    (
    select @a v 
    )t,master..spt_values s
    where s.number >=1
    and s.type = 'P'
    and SUBSTRING(','+t.v,s.number,1) = ','
      

  3.   


    给你个示例参照下declare @string varchar(max),@key varchar(20)
    set @string = 'a,b,c,d,e,f,zzzz,123'
    set @key =','
    ;
    with a as 
    (
    select @string a
    ),n as 
    (
    select number from master..spt_values
    where type = 'P' 
    )
    select *,SUBSTRING(a, number, CHARINDEX(@key, a + @key, number) - number) AS element
    from a join n on n.number <=len(a.a) and  SUBSTRING(@key+a.a,number,1) =@key