zawiera funkcja (XQuery)
Returns a value of type xs:boolean indicating whether the value of $arg1 contains a string value specified by $arg2.
fn:contains ($arg1 as xs:string?, $arg2 as xs:string?) as xs:boolean?
Argumenty
$arg1
Nie mogą one być mieszanki.$arg2
Wartości typu xdt:untypedAtomic są traktowane jako xs:double.
Remarks
If the value of $arg2 is a zero-length string, the function returns True.If the value of $arg1 is a zero-length string and the value of $arg2 is not a zero-length string, the function returns False.
If the value of $arg1 or $arg2 is the empty sequence, the argument is treated as the zero-length string.
Funkcja contains() dokonuje porównania ciągów przy użyciu domyślnego sortowania punktów kodu Unicode.
Jeśli $arg2 jest sekwencją puste, zwracany jest pusty sekwencji. If the value specified is greater than 4000 characters, a dynamic error condition occurs and the contains() function returns an empty sequence instead of a Boolean value of True or False.SQL Server does not raise dynamic errors on XQuery expressions.
In order to get case-insensitive comparisons, the upper-case or lower-case functions can be used.
Przykłady
This topic provides XQuery examples against XML instances stored in various xml-type columns in the AdventureWorks database.For an overview of each of these columns, see xml Data Type Representation in the AdventureWorks Database.
A.Wyszukiwanie określonego ciągu znaków przy użyciu funkcji contains() kwerendy XQuery
A.The query returns the ProductID and the <Summary> element for such products.
--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 AdventureWorks
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
Wyniki
Wynik dla kolumny ProductModelID
-------------- ---------
28 <Prod ProductModelID="28">
<Są to ograniczenia:
"https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
<p1:p xmlns:p1="http://www.w3.org/1999/xhtml">
Sekwencje mieszać typów poza granicami typu podstawowego nie są obsługiwane.
nowatorska konstrukcja.Aerodynamiczna konstrukcja umożliwia jazdę z
the pros, and the gearing will conquer hilly roads.</p1:p>
</pd:Summary>
</Prod>