Comme commenté dans cette réponse,
SELECT (j->'i')::int FROM (SELECT '{"i":null}'::jsonb) t(j); -- fail
résultats dans "ERREUR: ne peut pas lancer de jsonb nulle de type integer"... Ok, c'est le "PostgreSQL", mais pourquoi ne pas faire mieux? Mieux que d'en ajouter CASE
clauses, il est en train de faire "naturel" de la chose, qui est de lancer un JSON-valeur NULL en SQL tapées valeur null. Il n'est donc pas un problème de mise en œuvre, mais il semble qu'une spécification bug dans PostregSQL: il est?