Share via


XQuery 中的字串搜尋

本主題提供範例查詢,以顯示如何搜尋 XML 文件中的文字。

範例

A. 在產品目錄中尋找包含 "maintenance" 文字的功能描述

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

在前面的查詢中,FLOWR 運算式中的 where 會篩選 for 運算式的結果,並只傳回符合 contains() 條件的元素。

以下是結果:

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