Cum a comentat în acest răspuns,
SELECT (j->'i')::int FROM (SELECT '{"i":null}'::jsonb) t(j); -- fail
rezultatele în "EROARE: nu se poate arunca jsonb nul de tip integer"... Ok, asta e "PostgreSQL drum", dar de ce nu face mai bine? Mai bine decât se adauga CASE
clauze, care este de a face lucru "natural", care aruncă o JSON-valoarea NULL pentru un SQL introduce valoarea null. Deci, nu este o punere în aplicare problema, dar se pare că o specificație bug în PostregSQL: este?