在SQL Server中使用逗号分隔拆分数据

时间:2015-02-11 10:20:13

标签: sql sql-server sql-server-2008

如何使用逗号分隔拆分列中的数据?

我正在为我的输入和我期望的输出附加图像。

以下是输入:

enter link description here

以下是我的预期输出:

enter link description here

请帮助我如何使用SQL Server查询获取所需的输出

提前致谢, Phani Kumar。

1 个答案:

答案 0 :(得分:0)

declare @t Table (ID INT,Groupname VARCHAR(10),Pid  VARCHAR(20))

insert into @t (ID,Groupname,Pid)values (1,'xxxx','123,568,562,25')
insert into @t (ID,Groupname,Pid)values (2,'yyyy','2,356,321')
insert into @t (ID,Groupname,Pid)values (3,'zzzz','7,898,569')
insert into @t (ID,Groupname,Pid)values (4,'sss','12345')

SELECT ID,Groupname,
PARSENAME(REPLACE(Split.a.value('.', 'VARCHAR(100)'),'-','.'),1) 'Values' 
FROM  
(
     SELECT ID,Groupname,
     CAST ('<M>' + REPLACE([Pid], ',', '</M><M>') + '</M>' AS XML) AS Data 
     FROM @t     
) AS A 
CROSS APPLY Data.nodes ('/M') AS Split(a)