2015-03-24 53 views
0

在SQL Server中,如果我運行下面的查詢SQL Server中的XML PATH刪除XML

SELECT Name FROM Roles 
FOR XML PATH('') 

我得到

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

這是有道理的。但是,如果我串連的名稱字段與另一個字符,則封閉XML元素遠:

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

我得到

_Admin__SuperAdmin__UltraAdmin_ 

我期待

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

什麼dilleo?

回答

2

MSDN上的FOR XML PATH用法:

...計算列或不指定 列別名會生成列沒有任何名稱的嵌套標量查詢。

要獲得期望的結果使用別名:

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