逻辑表达式
如果两个表达式都成立,或者一个或两个表达式成立,则逻辑表达式返回布尔值true。 逻辑表达式中使用的操作符包括 and 和 or。
下表按优先级从高到低顺序列出了这些操作符。
| 运算符 | 用途 |
|---|---|
| 和 | 如果两个表达式为 true,那么返回 true。 |
| 或 | 如果一个或两个表达式为 true,那么返回 true。 |
限制 :逻辑表达式的操作数不能包含FLWOR表达式。
逻辑表达的结果是布尔值或错误。 XQuery 使用以下过程来评估逻辑表达式。
- 确定每个操作数的有效布尔值(EBV)。
- 将操作符应用于操作数的有效布尔值。 结果为布尔值或错误。 表2 显示了基于操作数EBV的逻辑表达式返回的结果,以及在操作数评估过程中遇到的任何错误。
| 操作数 1 的 EBV | 运算符 | 操作数 2 的 EBV | 结果 |
|---|---|---|---|
| 是 | 和 | 是 | 是 |
| 是 | 和 | 否 | 否 |
| 否 | 和 | 是 | 否 |
| 否 | 和 | 否 | 否 |
| 是 | 和 | 错误 | 错误 |
| 错误 | 和 | 是 | 错误 |
| 否 | 和 | 错误 | false 或错误 |
| 错误 | 和 | 否 | false 或错误 |
| 错误 | 和 | 错误 | 错误 |
| 是 | 或 | 是 | 是 |
| 否 | 或 | 否 | 否 |
| 是 | 或 | 否 | 是 |
| 否 | 或 | 是 | 是 |
| 是 | 或 | 错误 | true 或错误 |
| 错误 | 或 | 是 | true 或错误 |
| 否 | 或 | 错误 | 错误 |
| 错误 | 或 | 否 | 错误 |
| 错误 | 或 | 错误 | 错误 |
语法
示例
以下查询使用逻辑表达式从表中检索22英寸或24英寸雪铲的记录。
SELECT XMLQUERY ('declare namespace pos="http://posample.org";
/pos:product/description[name = "Snow Shovel, Deluxe 24"""
or name = "Snow Shovel, Basic 22"""]'
PASSING DESCRIPTION)
FROM T1;