如何在SQL中分隔行数据逗号?

Kis*_*jar 0 sql-server stored-procedures function

我有一个查询返回我的输出.

(结果不是所有时间都不一样,意味着它有时会给出3类,有时8类等等.)

CategoryName

  Test1
  Test2
  Test3
Run Code Online (Sandbox Code Playgroud)

现在我希望商店程序应该以逗号分隔格式返回这些日期.例如,输出字符串应该类似于:Test1,Test2,Test3

你能告诉我怎样才能实现这个目标?

KM.*_*KM. 5

这适用于数据中的所有字符:

set nocount on;
declare @YourTable table (BirthDay datetime, PersonName varchar(20))
insert into @YourTable VALUES ('1-10-2010',     'Joe'  )
insert into @YourTable VALUES ('2-10-2010',     'Bob  <&>'  )
insert into @YourTable VALUES ('2-10-2010',     'Alice')
set nocount off


--Concatenation with FOR XML and eleminating control/encoded character expansion "& < >"
SELECT
    p1.BirthDay
        ,STUFF(
                   (SELECT
                        ', ' + p2.PersonName
                        FROM @YourTable p2
                        WHERE p2.BirthDay=p1.BirthDay
                        ORDER BY p2.PersonName
                        FOR XML PATH(''), TYPE
                   ).value('.','varchar(max)')
                   ,1,2, ''
              ) AS PersonNames
    FROM @YourTable p1
    GROUP BY p1.BirthDay
Run Code Online (Sandbox Code Playgroud)

OUTPUT:

BirthDay                PersonNames
----------------------- ------------------------
2010-01-10 00:00:00.000 Joe
2010-02-10 00:00:00.000 Alice, Bob  <&>

(2 row(s) affected)
Run Code Online (Sandbox Code Playgroud)