Delen via


Kolommen met een naam die is opgegeven met een wildcard-teken

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Als de opgegeven kolomnaam een jokerteken (*) is, wordt de inhoud van die kolom ingevoegd alsof er geen kolomnaam is opgegeven. Als deze kolom een niet-xml- kolomtype is, wordt de kolominhoud ingevoegd als een tekstknooppunt, zoals wordt weergegeven in het volgende voorbeeld:

USE AdventureWorks2022;
GO
SELECT E.BusinessEntityID "@EmpID",
       FirstName "*",
       MiddleName "*",
       LastName "*"
FROM   HumanResources.Employee AS E
  INNER JOIN Person.Person AS P
    ON E.BusinessEntityID = P.BusinessEntityID
WHERE E.BusinessEntityID=1
FOR XML PATH;

Dit is het resultaat:

<row EmpID="1">KenJSánchez</row>

Als de kolom van xml- type is, wordt de bijbehorende XML-structuur ingevoegd. De volgende query geeft bijvoorbeeld '*' op voor de kolomnaam die de XML bevat die door de XQuery wordt geretourneerd op basis van de kolom Instructies.

SELECT
       ProductModelID,
       Name,
       Instructions.query('declare namespace MI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions"
                /MI:root/MI:Location
              ') as "*"
FROM Production.ProductModel
WHERE ProductModelID=7
FOR XML PATH;

Dit is het resultaat. De XML die door XQuery wordt geretourneerd, wordt ingevoegd zonder een omhullend element.

<row>
  <ProductModelID>7</ProductModelID>
  <Name>HL Touring Frame</Name>
  <MI:Location LocationID="10">...</MI:Location>
  <MI:Location LocationID="20">...</MI:Location>
  ...
</row>

Zie ook