SQL Server FOR XML格式

时间:2017-02-13 11:47:01

标签: sql sql-server for-xml-path for-xml

请问,有人知道如何编写SQL FOR XML子句,如果XML输出需要这样:

<element attribute="attribute_value">sub_element_or_value</element>

有关此问题的更多信息https://dba.stackexchange.com/questions/163658/ms-sql-db-design-help

* DB位于Azure SQL数据库中。

1 个答案:

答案 0 :(得分:0)

这是你要找的吗?

DECLARE @table TABLE(ID INT IDENTITY, code VARCHAR(100),val VARCHAR(100));
INSERT INTO @table  VALUES
 ('Code 1','Value 1')
,('Code 2','Value 2')
,('Code 3','Value 3')
,('Code 4','Value 4');

SELECT t.code AS [@code]
      ,t.val AS [*] 
FROM @table AS t
FOR XML PATH('element'),ROOT('elements');

结果

<elements>
  <element code="Code 1">Value 1</element>
  <element code="Code 2">Value 2</element>
  <element code="Code 3">Value 3</element>
  <element code="Code 4">Value 4</element>
</elements>