Recherche de chaînes dans XQuery

Cette rubrique propose des exemples de requêtes illustrant la méthode de recherche de texte dans des documents XML.

Exemples

A. Recherche de descriptions de caractéristiques contenant le mot « maintenance » dans le catalogue de produits

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

Dans la requête précédente, l'argument where de l'expression FLOWR filtre le résultat de l'expression for et ne renvoie que les éléments satisfaisant la condition contains().

Voici le résultat obtenu :

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

Voir aussi

Concepts

Type de données xml

Autres ressources

Requêtes XQuery impliquant le type de données xml

Aide et Informations

Assistance sur SQL Server 2005