PostgreSQL JSON 型の演算子

マニュアル参照:9.15. JSON関数と演算子

JSON の値、数値として SELECT されるか?

'{ "a": [1,2,3] }'::json->'a'->1

この場合、2 が数値として取り出せるか?というとそうではないらしい

-> この演算子のまま、
以下のように CAST してはダメだ。

CAST('{ "a": [1,2,3] }'::json->'a'->1 AS NUMERIC) 

[42846]:ERROR:型jsonからnumericへの型変換ができません

->> 演算子
文字列として抽出してからでないと、

CAST('{ "a": [1,2,3] }'::json->'a'->>1 AS NUMERIC)