Compartir a través de


Buscar cadenas en XQuery

Se aplica a:SQL Server

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, en where la expresión FLOWR filtra el resultado de la for expresión y devuelve solo los elementos que satisfacen 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>  

Consulte también

Datos XML (SQL Server)
Referencia del lenguaje XQuery (SQL Server)