我正在使用SQL Server 2008 R2。
这是我的表:
CREATE TABLE step
(
id int IDENTITY(1,1) NOT NULL PRIMARY KEY,
step_value nvarchar(max) NOT NULL
)
目前step
表中有197行。我希望将step_value
列的所有值作为带有分号分隔符的单个值。我怎么能这样做?
一些示例数据:
Insert Into step(step_value)
Values ('a'),('b'),('c'),('d'),('<workflow name="DISCIPLINE_LETTER">'), (' <target>MEETING_INITIAL_MEETING_LETTER</target> ')
由于
答案 0 :(得分:0)
使用STUFF功能
select stuff(
(select '; ' + step_value
from step
for xml path(''), root('MyString'), type
).value('/MyString[1]','nvarchar(max)')
, 1, 2, '') as step_values ;
答案 1 :(得分:0)
SELECT TOP 1 (STUFF((SELECT ', ' + CAST(id AS VARCHAR(MAX))
FROM step
FOR XML PATH ('')), 1, 2, '')) AS a
FROM step