Aracılığıyla paylaş


doğru işlev (XQuery)

Xs:boolean değeri True döndürür. Bu denktir xs:boolean("1").

Sözdizimi

fn:true() as xs:boolean

fn:true() as xs:boolean

Örnekler

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

A.True() XQuery Boolean işlevi kullanma

Aşağıdaki örnek sorgu yazılmamış bir xml değişkeni. İfade value() yöntemi döndürür Boolean true() ise "aaa" öznitelik değeridir. Value() yöntemi xml veri türü Boole değeri biraz dönüştürür ve döndürür.

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

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 örnek, sorgu belirtilen karşı bir yazılı xml sütun. ifİfadesi yazılı Boolean değerini denetler <ROOT>eleman ve buna göre yapılandırılmış xml döndüren. Örneğin aşağıdakileri gerçekleştirir:

  • Oluşturur tanımlayan xml şema koleksiyonu <ROOT> öğe xs:boolean türü.

  • Bir tablo oluşturan bir Daktilo ile xml xml şema koleksiyonu kullanarak sütun.

  • Bir xml örneği sütununda 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

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

Ayrıca bkz.

Kavramlar

Boolean Oluşturucu işlevler (XQuery)