没有名称的列

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

任何没有名称的列都将成为内联列。 例如,未指定列别名的计算列或嵌套标量查询将生成没有名称的列。 如果该列属于 xml 类型,则将插入该数据类型实例的内容。 否则,列内容将作为文本节点插入。

SELECT 2 + 2
FOR XML PATH;

生成此 XML。 默认情况下,对于行集中的每一行,生成的 XML 中都会生成一个 <row> 元素。 这与 RAW 模式相同。

<row>4</row>

以下查询将返回一个包含三列的行集。 第三列没有名称,且包含 XML 数据。 PATH 模式将插入一个 xml 类型的实例。

USE AdventureWorks2022;
GO
SELECT ProductModelID,
       Name,
       Instructions.query(
           'declare namespace MI="http://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>

另请参阅