Aracılığıyla paylaş


doğru işlev (XQuery)

Xs:Boole true değerini döndürür.Bu eşdeğerdir xs:boolean("1").

Sözdizimi

fn:true() as xs:boolean

Örnekler

Bu konu, çeşitli içinde depolanan XML örnekleri karşı XQuery örnekler sağlar. XML türü sütunlarındaki AdventureWorks veritabanındaki.Konusuna genel bir bakış bu sütunların her biri için bkz: XML veri türü temsili AdventureWorks veritabanındaki.

C.True() XQuery Boole işlev kullanma

Aşağıdaki örnek bir türlenmemiş sorgular XML deðiþken.ifade, Value() Boole yöntem verirTRUE() "aaa" özniteliğinin değeri ise.The value() yöntem of the xml data type converts the Boole value into a bit and returns it.

DECLARE @x XML
SET @x= '<ROOT><elem attr="aaa">bbb</elem></ROOT>'
select @x.value(' if ( (/ROOT/elem/@attr)[1] eq "aaa" ) then fn:true() else fn:false() ', 'bit')
go
-- result = 1

Aşağıdaki örnekte, belirtilen sorgu yazılı bir karşı XML sütun.The if ifade checks the typed Boole value of the <ROOT> element and returns the constructed XML, accordingly. Örneğin, aşağıdakileri gerçekleştirir:

  • Tanımlayan XML şema koleksiyon oluşturur <ROOT> öğe xs:Boole türü.

  • Bir tablo ile yazılan oluşturur XML sütun kullanarak XML şema koleksiyon.

  • Bir XML örnek sütuna kaydeder ve bu sorgular.

-- Drop table if exist
--DROP TABLE T
--go
DROP XML SCHEMA COLLECTION SC
go
CREATE XML SCHEMA COLLECTION SC AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="QNameXSD" >
      <element name="ROOT" type="boolean" nillable="true"/>
</schema>'
go
CREATE TABLE T (xmlCol XML(SC))
go
-- following OK
insert into T values ('<ROOT xmlns="QNameXSD">true</ROOT>')
 go
-- Retrieve the local name. 
SELECT xmlCol.query('declare namespace a="QNameXSD"; 
   if (/a:ROOT[1] eq true()) then
       <result>Found boolean true</result>
   else
       <result>Found boolean false</result>')

FROM T
-- result = <result>Found boolean true</result>
-- Clean up
DROP TABLE T
go
DROP XML SCHEMA COLLECTION SC
go