Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Gibt den xs:boolean-Wert True zurück. Dieser entspricht xs:boolean("1").
Syntax
fn:true() as xs:boolean
Beispiele
Dieses Thema enthält XQuery-Beispiele für XML-Instanzen, die in verschiedenen XML-Typspalten in der AdventureWorks-Datenbank gespeichert sind.
A. Verwenden der XQuery Boolean-Funktion true()
Im folgenden Beispiel wird eine nicht typisierte XML-Variable abgefragt. Der Ausdruck in der Value() -Methode gibt boolean true() zurück, wenn "aaa" der Attributwert ist. Die Value()- Methode des XML-Datentyps konvertiert den booleschen Wert in ein Bit und gibt ihn zurück.
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
Im folgenden Beispiel wird die Abfrage für eine typierte XML-Spalte angegeben. Der if Ausdruck überprüft den typierten booleschen Wert des <ROOT> Elements und gibt die konstruierte XML entsprechend zurück. Das Beispiel führt die folgenden Aktionen aus:
Erstellt eine XML-Schemaauflistung, die das <
ROOT> Element des typs xs:boolean definiert.Erstellt eine Tabelle mit einer typierten XML-Spalte mithilfe der XML-Schemaauflistung.
Speichert eine XML-Instanz in der Spalte und fragt sie ab.
-- 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