Freigeben über


Zeichenfolgensuche in XQuery

In diesem Thema werden Beispielabfragen bereitgestellt, die zeigen, wie in XML-Dokumenten nach Text gesucht werden kann.

Beispiele

A.Suchen von Funktionsbeschreibungen mit dem Wort "maintenance" im Produktkatalog

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

In der vorhergehenden Abfrage filtert die where-Klausel im FLOWR-Ausdruck das Ergebnis des for-Ausdrucks und gibt nur Werte zurück, die die Bedingung contains() erfüllen.

Dies ist das Ergebnis:

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

Siehe auch

Konzepte

XML-Daten (SQL Server)

Andere Ressourcen

XQuery-Sprachreferenz (SQL Server)