我的下表包含以下值:
create table test
(
folder nvarchar(20),
size int
)
Video 255
Music 255
Docs 255
Papers 255
我需要连接文件夹字段,并用逗号和新行分隔。到目前为止,我有这个:
select distinct folder + ',' as [text()]
from test
for xml path('')
这将与','分隔,但我无法使用char(13)使新行工作。
答案 0 :(得分:0)
不是100%清楚你的预期结果,但这里有点黑客
Declare @Test table (folder nvarchar(20),size int)
Insert Into @Test values
('Video' ,255),
('Music' ,255),
('Docs' ,255),
('Papers',255)
Select [text()] = Replace(cast([text()] as nvarchar(max)),'||',char(13)+char(10))
From (Select [text()] = (Select Distinct folder + '||' From @test For XML path('') ) ) A
返回
text()
Docs
Music
Papers
Video
另一个可能是
Declare @String varchar(max) = ''
Select @String=@String+Folder+char(13)+char(10)
From @Test
Select [text()]=@String
返回
text()
Video
Music
Docs
Papers