34,576
社区成员
发帖
与我相关
我的任务
分享
DECLARE @S NVARCHAR(30)
SET @S='A B C D E F'
DECLARE @S NVARCHAR(30)
SET @S='A B C D E F'
;with t as
(select (row_number() over(order by getdate())+1)/2 'rn',
substring(a.s,b.number,charindex(' ',a.s+' ',b.number)-b.number) 's'
from (select @S 's') a,master..spt_values b
where b.[type]='P' and b.number between 1 and len(a.s)
and substring(' '+a.s,b.number,1)=' ')
select rtrim(a.rn)
+'='''
+stuff((select ' '+b.s
from t b
where b.rn=a.rn
for xml path('')),1,1,'')
+''' ' 's'
from t a
group by a.rn
/*
s
---------------------------
1='A B'
2='C D'
3='E F'
(3 行受影响)
*/