Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Xs:boolean típusú értéket ad vissza, amely jelzi, hogy az $arg 1 értéke tartalmaz-e a $arg 2által megadott sztringértéket.
Szintaxis
fn:contains ($arg1 as xs:string?, $arg2 as xs:string?) as xs:boolean?
Érvek
$arg 1
Tesztelendő sztringérték.
$arg 2
A kereséshez szükséges részszúrás.
Megjegyzések
Ha a $arg 2 értéke nulla hosszúságú sztring, a függvény Igazad vissza. Ha az $arg 1 értéke nulla hosszúságú karakterlánc, és a $arg 2 értéke nem nulla hosszúságú sztring, a függvény Hamisad vissza.
Ha az $arg 1 vagy $arg 2 értéke az üres sorozat, az argumentum nulla hosszúságú sztringként lesz kezelve.
A contains() függvény az XQuery alapértelmezett Unicode-kódpont-rendezést használja a sztring-összehasonlításhoz.
A $arg 2 megadott részszúrási értéknek 4000 karakternél kisebbnek vagy egyenlőnek kell lennie. Ha a megadott érték nagyobb, mint 4000 karakter, dinamikus hibaállapot lép fel, és a Contains() függvény üres sorozatot ad vissza a True vagy Hamislogikai érték helyett. Az SQL Server nem okoz dinamikus hibákat az XQuery-kifejezésekben.
A kis- és nagybetűk érzéketlen összehasonlításához a nagybetűs vagy kisbetűs függvények használhatók.
Kiegészítő karakterek (helyettesítő párok)
Az XQuery-függvényekben a helyettesítő párok viselkedése az adatbázis kompatibilitási szintjétől és bizonyos esetekben a függvények alapértelmezett névterének URI-jától függ. További információt az SQL Server 2016 adatbázismotor-funkcióinak kompatibilitástörő változásairóltémakör "XQuery Functions Are Surrogate-Aware" című szakaszában talál. Lásd még ALTER DATABASE kompatibilitási szintjét (Transact-SQL) és rendezési és Unicode-támogatási.
Példák
Ez a témakör XQuery-példákat tartalmaz az AdventureWorks-adatbázis különböző XML-típusú oszlopaiban tárolt XML-példányokra.
Egy. Adott karaktersztring keresése a contains() XQuery függvény használatával
Az alábbi lekérdezés megkeresi az összefoglaló leírásokban az Aerodynamic szót tartalmazó termékeket. A lekérdezés az ilyen termékek termékazonosítóját és <Summary> elemét adja vissza.
--The product model description document uses
--namespaces. The WHERE clause uses the exit()
--method of the xml data type. Inside the exit method,
--the XQuery contains() function is used to
--determine whether the <Summary> text contains the word
--Aerodynamic.
USE AdventureWorks2022;
GO
WITH XMLNAMESPACES ('https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription' AS pd)
SELECT ProductModelID, CatalogDescription.query('
<Prod>
{ /pd:ProductDescription/@ProductModelID }
{ /pd:ProductDescription/pd:Summary }
</Prod>
') as Result
FROM Production.ProductModel
where CatalogDescription.exist('
/pd:ProductDescription/pd:Summary//text()
[contains(., "Aerodynamic")]') = 1
Eredmények
ProductModelID Result
-------------- ---------
28 <Prod ProductModelID="28">
<pd:Summary xmlns:pd=
"https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">
A TRUE multi-sport bike that offers streamlined riding and
a revolutionary design. Aerodynamic design lets you ride with
the pros, and the gearing will conquer hilly roads.</p1:p>
</pd:Summary>
</Prod>
Lásd még:
XQuery-függvények xml adattípusú