Skip to content

Latest commit

 

History

History
71 lines (59 loc) · 2.13 KB

File metadata and controls

71 lines (59 loc) · 2.13 KB
title Specify a column with a wildcard character (SQLXML)
description Learn how column names that are specified as a wildcard character affect the results of an XQuery.
author MikeRayMSFT
ms.author mikeray
ms.reviewer randolphwest
ms.date 05/05/2022
ms.service sql
ms.subservice xml
ms.topic how-to
ms.custom
ignite-2025
helpviewer_keywords
names [SQL Server], columns with

Columns with a name specified as a wildcard character

[!INCLUDE SQL Server Azure SQL Database Azure SQL Managed Instance FabricSQLDB]

If the column name specified is a wildcard character (*), the content of that column is inserted as if there's no column name specified. If this column is a non-xml type column, the column content is inserted as a text node, as shown in the following example:

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;

This is the result:

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

If the column is of xml type, the corresponding XML tree is inserted. For example, the following query specifies "*" for the column name that contains the XML returned by the XQuery against the Instructions column.

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;

This is the result. The XML returned by XQuery is inserted without a wrapping element.

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

See also