按逗号分拆一个表中的字段,然后每个逗号之间的字符插入到另外一个表中对应的字段去。
比如:
表一中字段A的值如下:字段A
-----------
AAA,BB,C
A,B,C
AA,BBB,C拆分后的3个值都要插入到表二中的3个字段去:
字段1 字段2 字段3
-----------------
AAA   BB    C
A     B     C
AA    BBB   C

解决方案 »

  1.   

    insert into 表二(字段1,字段2,字段3)
    select
      Parsename(replace(A,',','.'),3),
      Parsename(replace(A,',','.'),2),
      Parsename(replace(A,',','.'),1) 
    from 表一
      

  2.   

    字段不只是有3个逗号而已,逗号数量未定,可能也是AA,BB,CC,DD,EE,FF
      

  3.   

    先用CHARINDEX搜索连个相邻逗号的位置
    然后用substring取出他们中间的字符串
      

  4.   


    create table 表一
    (字段A varchar(20))insert into 表一
    select 'AAA,BB,C' union all
    select 'A,B,C' union all
    select 'AA,BBB,C'create table 表二
    (字段1 varchar(10), 
     字段2 varchar(10),
     字段3 varchar(10))
    declare @sql varchar(6000)=''
    select @sql=@sql+'insert into 表二 select '''+replace(字段A,',',''', ''')+'''; ' from 表一
    exec(@sql)select * from 表二/*
    字段1        字段2        字段3
    ---------- ---------- ----------
    AAA        BB         C
    A          B          C
    AA         BBB        C(3 row(s) affected)
    */