Partilhar via


Pesquisa de cadeia de caracteres em XQuery

Este tópico fornece exemplos de consultas que mostram como pesquisar texto em documentos XML.

Exemplos

A. Localizar descrições de características que contêm a palavra "manutenção" no catálogo de produtos

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

Na consulta anterior, where na expressão FLOWR filtra o resultado da expressão for e retorna apenas os elementos que atendam à condição contains().

Este é o resultado:

<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>