一个直接用sql写的拆分列,但是在2000不能用,不知道什么原因,有机会在2005试下

--创建一个表
create table tb (id int,value varchar(30))
insert into tb
select 1,'a,b,c' union all
select 2,'d,e,f' union all
select 3,'m,n,bb,mm'

--取出数据
select * from tb

--按,分割后取出数据
select B.value from(
   
select id, [value] = convert(xml,' <root> <v>' + replace([value], ',', ' </v> <v>') + ' </v> </root>') from tb
)A
outer apply(
   
select value = N.v.value('.', 'varchar(100)') from A.[value].nodes('/root/v') N(v)
)B
--删除这个表
drop table tb

猜你喜欢

转载自blog.csdn.net/jianguangguo/article/details/4158060
今日推荐