> 文章列表 > SQL 逗号分隔将一行拆成多行

SQL 逗号分隔将一行拆成多行

SQL 逗号分隔将一行拆成多行

有表tb, 如下:
id          value
----------- -----------
1           aa,bb
2           aaa,bbb,ccc
欲按id,分拆value列, 分拆后结果如下:
id          value
----------- --------
1           aa
1           bb
2           aaa
2           bbb
2           ccc
*/--方法1.使用临时表完成
SELECT  TOP  8000 id = IDENTITY( int , 1, 1)  INTO  #  FROM  syscolumns a, syscolumns b SELECT  A.id, value =  SUBSTRING (A.[value], B.id, CHARINDEX( ',' , A.[value] +  ',' , B.id) - B.id)
FROM  tb A, # B
WHERE  SUBSTRING ( ','  + A.[value], B.id, 1) =  ','DROP  TABLE  #