add remove split language chart show hidden hide
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
CREATE TABLE
INSERT 0 3
id data
1 {"hi": "mom", "age": 43, "bar": true, "nested1": {"foo": 10.5, "nested2": {"zoo": "deep"}}}
2 {"bar": false, "nested1": {"foo": -0.5, "nested2": {"zoo": "none"}}}
3 {"age": 41, "bye": "dad"}
SELECT 3
col_name col_type
hi string
age number
bar boolean
nested1 object
bar boolean
nested1 object
age number
bye string
SELECT 8
col_name col_type
age number
bar boolean
bye string
hi string
nested1 object
nested1_foo number
nested1_nested2 object
nested1_nested2_zoo string
SELECT 8
sql
CREATE TABLE newtable AS SELECT id,
  (data->>'age')::int AS data_age,
  (data->>'bar')::boolean AS data_bar,
  (data->>'bye')::text AS data_bye,
  (data->>'hi')::text AS data_hi,
  (data->'nested1'->>'foo')::int AS data_nested1_foo,
  (data->'nested1'->'nested2'->>'zoo')::text AS data_nested1_nested2_zoo
FROM mytable
SELECT 1
SELECT 3
id data_age data_bar data_bye data_hi data_nested1_foo data_nested1_nested2_zoo
1 43 t null mom 10.5 deep
2 null f null null -0.5 none
3 41 null dad null null null
SELECT 3