& 代替 & 在 STUFF FOR XML PATH 中

Dha*_*alR 1 sql sql-server

我正在使用STUFF功能。我有一些条目具有&但显示& ; 反而。我在某处读到 & 保留在 XML 中。如何解决这个问题。

...STUFF((SELECT (', ' + CategoryName) FROM CategoryTable WHERE CategoryId IS NOT NULL AND CategoryId IN (1,2,3) FOR XML PATH('')), 1, 1, '') as CategoryName,...
Run Code Online (Sandbox Code Playgroud)

以上是我的查询(好吧,我刚刚添加了完整查询的一部分。)。怎么解决。谢谢。

Iva*_*tin 5

错误的方法:

SELECT  STUFF(
            (
                SELECT  ', ' + v.name
                FROM    (
                    VALUES
                        ('bonnie & clyde'),
                        ('thelma & louise')
                )v(NAME)
                FOR XML PATH('')
            ), 1, 2, '')
Run Code Online (Sandbox Code Playgroud)

绝地之路:

SELECT  STUFF(
            (
                SELECT  ', ' + v.name
                FROM    (
                    VALUES
                        ('bonnie & clyde'),
                        ('thelma & louise')
                )v(NAME)
                FOR XML PATH(''), TYPE
            ).value('.', 'VARCHAR(MAX)'), 1, 2, '')
Run Code Online (Sandbox Code Playgroud)