1
--分拆列值 2--
原著:鄒建 3--
改編:愛新覺羅.毓華(十八年風雨,守得冰山雪蓮花開) 2007-12-16 廣東深圳45
--有表tb, 如下: 6--
id value 7--
----------- ----------- 8--
1 aa,bb 9--
2 aaa,bbb,ccc
10--
欲按id,分拆value列, 分拆後結果如下:
11--
id value
12--
----------- --------
13--
1 aa
14--
1 bb
15--
2 aaa
16--
2 bbb
17--
2 ccc
1819
--1. 舊的解決方法(sql server 2000)
20select
top8000 id =
identity(int, 1, 1) into # from syscolumns a, syscolumns b
2122
select a.id, substring(a.[
values
], b.id, charindex('
,', a.[
values]+
',', b.id) - b.id)
23from tb a, # b
24where
substring(','
+ a.[
values
], b.id, 1) =',
'2526drop
table #
2728
--2. 新的解決方法(sql server 2005)
29create
table tb(id int,value varchar(30))
30insert
into tb values(1,'
aa,bb
') 31
insert
into tb values(2,'
aaa,bbb,ccc
') 32
go33
select a.id, b.value
34from(
35select id, [
value]=
convert(xml,''+
replace([
value
], '
,', '
') +
'') from tb
36 )a
37select value = n.v.value('
.', '
varchar(100)
') from a.[
value
].nodes('
/root/v
') n(v)
39 )b
4041
drop
table tb
4243
/*44
id value
45----------- ------------------------------
461 aa
471 bb
482 aaa
492 bbb
502 ccc
5152
(5 行受影響)
53*/
SQL常用問題 分拆列值
分拆列值 原著 鄒建 改編 愛新覺羅.毓華 十八年風雨,守得冰山雪蓮花開 2007 12 16 廣東深圳 有表tb,如下 id value 1 aa,bb 2 aaa,bbb,ccc 欲按id,分拆value列,分拆後結果如下 id value 1 aa 1 bb 2 aaa 2 bbb 2 ccc...
SQL 2005溢用之 分拆列值
有表tb,如下 id values 1 aa,bb 2 aaa,bbb,ccc 欲按,分拆values列,分拆後結果如下 id value 1 aa 1 bb 2 aaa 2 bbb 2 ccc 之前的老辦法,一般是使用臨時表 select top 8000 id identity int,1,1 ...
交流 SQL 2005溢用之 分拆列值
問題描述 有表tb,如下 idvalues 1aa,bb 2aaa,bbb,ccc 欲按,分拆 values列,分拆後結果如下 idvalue 1aa1bb 2aaa 2bbb 2ccc 1.舊的解決方法 select top 8000 id identity int 1,1 into from s...