Compartir a través de


Buscar cadenas en XQuery

Este tema incluye consultas de ejemplo que muestran cómo buscar texto en documentos XML.

Ejemplos

A.Buscar descripciones de características que contengan la palabra "maintenance" en el catálogo de productos

SELECT CatalogDescription.query('
     declare namespace p1="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
    for $f in /p1:ProductDescription/p1:Features/*
     where contains(string($f), "maintenance")
     return
           $f ') as Result
FROM Production.ProductModel
WHERE ProductModelID=19

En la consulta anterior, la parte where de la expresión FLOWR filtra el resultado de la expresión for y devuelve solo aquellos elementos que cumplen la condición contains().

El resultado es el siguiente:

<p1:Maintenance   
      xmlns:p1="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain">
 <p1:NoOfYears>10</p1:NoOfYears>
 <p1:Description>maintenance contact available through your 
               dealer or any AdventureWorks retail store.</p1:Description>
</p1:Maintenance>

Vea también

Conceptos

Datos XML (SQL Server)

Otros recursos

Referencia del lenguaje XQuery (SQL Server)