指定された列名がワイルドカード文字 (*) の場合、列名が指定されていないかのように、その列の内容が挿入されます。 この列がxml 以外の型の列の場合、次の例に示すように、列の内容がテキスト ノードとして挿入されます。
USE AdventureWorks2012;
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;
結果を次に示します。
<row EmpID="1">KenJS??nchez</row>
列が xml 型の場合は、対応する XML ツリーが挿入されます。 たとえば、次のクエリでは、命令列に対して XQuery によって返される XML を含む列名に "*" を指定します。
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;
GO
結果は次のとおりです。 XQuery によって返される XML は、折り返し要素なしで挿入されます。
<row>
<ProductModelID>7</ProductModelID>
<Name>HL Touring Frame</Name>
<MI:Location LocationID="10">...</MI:Location>
<MI:Location LocationID="20">...</MI:Location>
...
</row>