逻辑表达式 (XQuery)
适用于:SQL Server
XQuery 支持逻辑 和和 或 运算符。
expression1 and expression2
expression1 or expression2
SQL Server 中的测试表达式 expression1,``expression2
、可能会导致空序列、一个或多个节点的序列或单个布尔值。 根据结果,按照下列方式确定它们的有效布尔值:
如果测试表达式的结果是空序列,则表达式的结果为 False。
如果测试表达式的结果是单个布尔值,则此值便为表达式的结果。
如果测试表达式的结果是包含一个或多个节点的序列,则表达式的结果为 True。
否则,将引发静态错误。
然后,逻辑 和和 或 运算符将应用于具有标准逻辑语义的表达式的布尔值。
以下查询从产品目录检索特定产品模型的正面小图片( <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>