Aracılığıyla paylaş


PublicFunctionContains (XQuery)

Xs:boolean türünü gösteren bir değeri döndürür olup olmadığını değerini $arg1içeren bir string değeri tarafından belirtilen $arg2.

Sözdizimi

fn:contains ($arg1 as xs:string?, $arg2 as xs:string?) as xs:boolean?

Bağımsız değişkenler

  • $arg1
    Denemeye değer.

  • $arg2
    Aramak için alt dize.

Açıklamalar

Eğer değeri $arg2bir sıfır uzunluklu dize işlev verir ise True. Eğer değeri $arg1sıfır uzunluklu bir dize değeri ise $arg2bir sıfır uzunluklu dize işlev verir ise False.

Eğer değeri $arg1ya $arg2boş sırası ise bağımsız değişkeni sıfır uzunluklu dize olarak kabul edilir.

Contains() işlevi XQuery'nın varsayılan Unicode kod noktası harmanlama dize karşılaştırma için kullanır.

Belirtilen dize değeri $arg24000 karakterden daha az veya eşit olmalı. Belirtilen değer 4000 karakterden daha büyükse, dinamik hata durumu oluşur ve contains() işlevini Boolean değeri yerine boş sırası döndürür Trueya False. SQL ServerXQuery ifadeler dinamik hataları zam yok.

Büyük küçük harf duyarlı karşılaştırmaları, almak için harf ya da lower-case işlevleri kullanılabilir.

İkincil Karakterler (Yedek Çiftler)

Veritabanı uyumluluk düzeyi ve bazı durumlarda, varsayılan ad alanı URI işlevleri için vekil çiftleri XQuery işlevleri davranışını bağlıdır. Daha fazla bilgi için bkz: "XQuery işlevleri olan vekil tanımayan" bölümü konudaki En son değişiklikleri SQL Server 2012 veritabanı altyapısı özellikleri. Also see alter database uyumluluk düzeyi (Transact-sql) and Supplementary Characters.

Örnekler

Bu konu çeşitli xml depolanan xml örnekleri karşı XQuery örnekler sağlarAdventureWorks veritabanındaki sütunları yazın. Bu sütunlar genel bakış için bkz: DEL - xml Data Type Representation in the AdventureWorks2008R2 Database.

A.Belirli bir karakter dizesi için aramak için contains() XQuery işlevini kullanma

Aşağıdaki sorgu sözcüğü aerodinamik Özet açıklamaları içeren ürünler bulur. ProductID sorgu döndürür ve <Summary> gibi ürünler için öğe.

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

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

Sonuçlar

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>

Ayrıca bkz.

Başvuru

Xml veri türü karşı XQuery işlevleri