Jak прокомментировано w tej odpowiedzi,
SELECT (j->'i')::int FROM (SELECT '{"i":null}'::jsonb) t(j); -- fail
prowadzi do "BŁĘDZIE: nie można prowadzić wartość jsonb null do typu integer"... Dobrze, to "sposób PostgreSQL", ale dlaczego nie zrobić to lepiej? Lepiej, niż dodać CASE
oferty, to sprawia, że "naturalną" rzecz, czyli prowadzi wartość JSON-NULL do типизированному SQL zero wartości. Więc to nie jest problem realizacji, ale wydaje się, że błąd specyfikacji w PostregSQL: czy tak jest?