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

平凡的CASE缩写

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

类似于 Case 的简写形式,例如 NULLIF(),在某些情况下可以是微不足道的,可以移除该函数调用。

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

-- With Settings.transformPatternsTrivialCaseAbbreviation active, this:
SELECT
  NVL(NULL, a),
  NVL(1, a),
  COALESCE(NULL, NULL, a),
  COALESCE(1, a, b),
  NULLIF(a, a),
  NULLIF(NULL, a),
  NULLIF(a, NULL)
FROM tab;

-- ... is transformed into the equivalent expression:
SELECT
  a,    -- NVL(NULL, a),
  1,    -- NVL(1, a),
  a,    -- COALESCE(NULL, NULL, a),
  1,    -- COALESCE(1, a, b),
  NULL, -- NULLIF(a, a),
  NULL, -- NULLIF(NULL, a),
  a     -- NULLIF(a, NULL)
FROM tab;

反馈

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

The jOOQ Logo