邏輯運算式 (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>