共用方式為


布林建構函式 - true (XQuery)

適用於:SQL Server

傳回 xs:boolean 值 True。 這相當於 xs:boolean("1")

語法

fn:true() as xs:boolean  

範例

本主題針對 AdventureWorks 資料庫中各種 xml 類型資料行中儲存的 XML 實例,提供 XQuery 範例。

A. 使用 true() XQuery 布耳函數

下列範例會查詢不具 類型的 xml 變數。 如果 「aaa」 是屬性值,value() 方法中的 運算式會傳回 Boolean true()。 xml 資料類型的 value() 方法會將布林值轉換成位,並傳回它。

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  

在下列範例中,會針對具類型的 xml 資料行指定查詢。 運算式會 if 檢查項目的具型別布林值 <ROOT> ,並據以傳回建構的 XML。 此範例會執行下列動作:

  • 建立 XML 架構集合,這個集合會 <ROOT> 定義 xs:boolean 類型的專案。

  • 使用 XML 架構集合,建立具有具型 別 XML 資料行的資料表。

  • 將 XML 實例儲存在資料行中,並加以查詢。

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

另請參閱

布林建構函式 (XQuery)