在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?
答案 0 :(得分:2)
MSDN使用FOR XML PATH
:
...未指定的计算列或嵌套标量查询 列别名将生成没有任何名称的列。
要获得预期结果,请使用别名:
SELECT '_' + Name + '_' AS Name FROM Roles
FOR XML PATH('')