邏輯運算式 (XQuery)

XQuery 支援邏輯 and 與 or 運算子。

expression1 and expression2
expression1 or expression2

在 SQL Server 中,測試運算式 expression1,expression2 可產生空白時序,即含有一或多個節點的序列,或單一布林值。根據結果而定,將以下列方式來決定有效的布林值:

  • 如果測試運算式產生空白時序,運算式的結果即為 False。

  • 如果測試運算式產生單一布林值 ,該值即為運算式的結果。

  • 如果測試運算式產生一或多個節點的序列,運算式的結果即為 True。

  • 否則,就會引發靜態錯誤。

會將邏輯 and 與 or 運算子套用至含有標準語意之運算式所產生的布林值。

下列查詢會從產品目錄擷取特定產品型號正面角度的小型圖片,即 <Picture> 元素。請注意對於每個產品描述文件,目錄可以儲存具有不同屬性的一或多個產品圖片,例如大小與角度。

SELECT CatalogDescription.query('
     declare namespace PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription";
     for $F in /PD:ProductDescription/PD:Picture[PD:Size="small" 
                                                 and PD:Angle="front"]
     return 
         $F 
    ') as Result
FROM  Production.ProductModel
where ProductModelID=19

以下是結果:

<PD:Picture 
  xmlns:PD="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelDescription">
  <PD:Angle>front</PD:Angle>
  <PD:Size>small</PD:Size>
  <PD:ProductPhotoID>31</PD:ProductPhotoID>
</PD:Picture>

請參閱

概念