Compartir por


Funciones de constructor booleano: true (XQuery)

Se aplica a:SQL Server

Devuelve el valor xs:boolean True. Es equivalente a xs:boolean("1").

Sintaxis

fn:true() as xs:boolean  

Ejemplos

En este tema se proporcionan ejemplos de XQuery en instancias XML almacenadas en varias columnas de tipo xml de la base de datos AdventureWorks.

A. Utilizar la función booleana true() de XQuery

En el ejemplo siguiente se consulta una variable xml sin tipo. La expresión del método value() devuelve Boolean true() si "aaa" es el valor del atributo. El método value() del tipo de datos xml convierte el valor booleano en un bit y lo devuelve.

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  

En el ejemplo siguiente, la consulta se especifica en una columna xml con tipo. La if expresión comprueba el valor booleano con tipo del <ROOT> elemento y devuelve el XML construido, en consecuencia. En el ejemplo, se realizan las tareas siguientes:

  • Crea una colección de esquemas XML que define el <ROOT> elemento del tipo xs:boolean.

  • Crea una tabla con una columna xml con tipo mediante la colección de esquemas XML.

  • Se guarda una instancia XML en la columna y se consulta.

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

Consulte también

Funciones de constructor booleano (XQuery)