可用版本:Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

布尔运算符优先级

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

正如前面在手册关于算术表达式的部分中提到的,jOOQ 不实现运算符优先级。所有运算符都从左到右计算,这在面向对象的 API 中是预期的。在组合布尔运算符(例如 ANDORNOT)时,理解这一点非常重要。以下表达式是等效的

   A.and(B) .or(C) .and(D) .or(E)
(((A.and(B)).or(C)).and(D)).or(E)

在 SQL 中,这两个表达式将不一样,因为 SQL 本身就了解运算符优先级。

   A AND B  OR C  AND D  OR E -- Precedence is applied
(((A AND B) OR C) AND D) OR E -- Precedence is overridden

引用此页

反馈

您对此页面有任何反馈吗? 我们很乐意听到您的反馈!

The jOOQ Logo