删除XML的SQL Server XML PATH

时间:2015-03-24 21:24:50

标签: sql-server xml

在SQL Server中,如果我运行以下查询

SELECT Name FROM Roles
FOR XML PATH('')

我得到了

<Name>Admin</Name><Name>SuperAdmin</Name><Name>UltraAdmin</Name>

这是有道理的。但是,如果我将Name字段与另一个字符连接起来,它将带走封闭的XML元素:

SELECT '_' + Name + '_' FROM Roles
FOR XML PATH('')

我得到了

_Admin__SuperAdmin__UltraAdmin_

我在期待

<Name>_Admin_</Name><Name>_SuperAdmin_</Name><Name>_UltraAdmin_</Name>

什么dilleo?

1 个答案:

答案 0 :(得分:2)

MSDN使用FOR XML PATH

  

...未指定的计算列或嵌套标量查询   列别名将生成没有任何名称的列。

要获得预期结果,请使用别名:

SELECT '_' + Name + '_' AS Name FROM Roles
FOR XML PATH('')