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)