我需要从 SQL Server 返回 XML 中包含空格的列别名。由于 XML 列名称中不能有空格,因此我想在“columnName”属性中返回此别名。一般来说,XML 需要如下所示:
<customers>
<customer name="Shmo, Joe">
<over50 columnName="Number of Orders Over 50 Pounds" value="10">
<cancelled columnName="Orders Cancelled" value="2">
</customer>
</customers>
表格如下:
|Name |over50|cancelled
---------------------------
|Shmo, Joe| 10 | 2
如果可能的话,我真的很想使用“FOR XML”的 XML 提取方法。预先感谢您的任何见解。
最佳答案
这应该可以。
SELECT Name AS [@name],
'Number of Orders Over 50 Pounds' AS [over50/@columnName],
over50 AS [over50/@value],
'Orders Cancelled' AS [cancelled/@columnName],
cancelled AS [cancelled/@value]
FROM YourTable
FOR XML PATH('customer'), ROOT('customers')
关于sql-server - SQL Server : Specify Column Name as Attribute Using FOR XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15528265/