Available in versions: Dev (3.20) | Latest (3.19) | 3.18

CASE with ELSE NULL

Applies to ✅ Open Source Edition   ✅ Express Edition   ✅ Professional Edition   ✅ Enterprise Edition

When CASE expressions have no ELSE clause, the default is ELSE NULL. There is no need to explicitly set that clause to NULL.

Using Settings.transformPatternsCaseElseNull, the following transformations can be achieved:

-- With Settings.transformPatternsCaseElseNull active, this:
SELECT
  CASE a WHEN b THEN 1 ELSE NULL END,  -- Simple CASE
  CASE WHEN a = b THEN 1 ELSE NULL END -- Searched CASE
FROM tab;

-- ... is transformed into the equivalent expression:
SELECT
  CASE a WHEN b THEN 1 END,
  CASE WHEN a = b THEN 1 END
FROM tab;

Feedback

Do you have any feedback about this page? We'd love to hear it!

The jOOQ Logo