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

简化CASE缩写

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

NVLCOALESCE CASE 简写形式可能出现在表达式中,这些表达式可以使用更简单的 CASE 简写形式来实现更简单的对应项。

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

-- With Settings.transformPatternsSimplifyCaseAbbreviation active, this:
SELECT
  a IS NULL OR NVL(a = b, FALSE),
  COALESCE(a = b, a IS NULL),
  COALESCE(a, b) IS NOT DISTINCT FROM b,
  a IS NOT NULL AND NVL(a != b, TRUE),
  COALESCE(a != b, a IS NOT NULL),
  COALESCE(a, b) IS DISTINCT FROM b
FROM tab;

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

反馈

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

The jOOQ Logo