任何没有名称的列都将内嵌。 例如,不指定列别名的计算列或嵌套标量查询将生成不带任何名称的列。 如果列的类型为 xml 类型,则插入该数据类型实例的内容。 否则,列内容将作为文本节点插入。
SELECT 2+2
FOR XML PATH
生成此 XML。 默认情况下,对于行集中的每一行,会在生成的 XML 中生成一个 <row> 元素。 这与 RAW 模式相同。
<row>4</row>
以下查询返回一个包含三列的行集。 没有名称的第三列具有 XML 数据。 PATH 模式插入 xml 类型的实例。
USE AdventureWorks2012;
GO
SELECT ProductModelID,
Name,
Instructions.query('declare namespace MI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
/MI:root/MI:Location
')
FROM Production.ProductModel
WHERE ProductModelID=7
FOR XML PATH ;
GO
下面是部分结果:
<row>
<ProductModelID>7</ProductModelID>
<Name>HL Touring Frame</Name>
<MI:Location ...LocationID="10" ...></MI:Location>
<MI:Location ...LocationID="20" ...></MI:Location>
...
</row>