在 SQL 服务器中用逗号分隔拆分数据
Splitting the data with comma separation in SQL Server
如何用逗号分隔列中的数据?
我附上了输入和预期输出的图像。
以下是输入:
以下是我的预期输出:
请帮助我如何通过 SQL 服务器查询
获得所需的输出
提前致谢,
帕尼库马尔.
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)
如何用逗号分隔列中的数据?
我附上了输入和预期输出的图像。
以下是输入:
以下是我的预期输出:
请帮助我如何通过 SQL 服务器查询
获得所需的输出提前致谢, 帕尼库马尔.
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)