按逗号分拆一个表中的字段,然后每个逗号之间的字符插入到另外一个表中对应的字段去。
比如:
表一中字段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
比如:
表一中字段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
select
Parsename(replace(A,',','.'),3),
Parsename(replace(A,',','.'),2),
Parsename(replace(A,',','.'),1)
from 表一
然后用substring取出他们中间的字符串
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)
*/