可用版本: 开发版 (3.21) | 最新版 (3.20) | 3.19 | 3.18 | 3.17

平凡的谓词

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

谓词可能是微不足道的,在这种情况下,表达式可以被移除并替换为 TRUE 或 FALSE 条件

使用 Settings.transformPatternsTrivialPredicates,可以实现以下转换

-- With Settings.transformPatternsTrivialPredicates active, this:
SELECT
  a IS NOT DISTINCT FROM a,
  a IS DISTINCT FROM a,
  a >= a,
  a <= a,
  a > a,
  a < a,
  const IS NOT NULL,
  const IS NULL,
  TRUE AND FALSE,
  TRUE OR FALSE,
  NOT TRUE,
  NOT FALSE,
  p = TRUE,
  p <> TRUE,
  p = FALSE,
  p <> FALSE,
  p AND (q OR p),
  p OR (q AND p)
  -- and many more
FROM tab;

-- ... is transformed into the equivalent expression:
SELECT
  TRUE,    -- a IS NOT DISTINCT FROM a
  FALSE,   -- a IS DISTINCT FROM a
  a = a,   -- a >= a
  a = a,   -- a <= a
  a != a,  -- a > a
  a != a,  -- a < a
  TRUE,    -- const IS NOT NULL
  FALSE,   -- const IS NULL
  FALSE,   -- TRUE AND FALSE
  TRUE,    -- TRUE OR FALSE
  FALSE,   -- NOT TRUE
  TRUE,    -- NOT FALSE
  p,       -- p = TRUE
  NOT (p), -- p <> TRUE
  NOT (p), -- p = FALSE
  p,       -- p <> FALSE,
  p,       -- p AND (q OR p)
  p        -- p OR (q AND p)
  -- and many more
FROM tab;

反馈

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

The jOOQ Logo