Come ottenere dati da Json a PostgreSQL a più colonne

Oct 05 2020

Voglio estrarre molti oggetti (non tutti gli oggetti) in JSON ma non voglio digitare per ogni singola cosa in questo modo:

Select *,  
metrics::json ->> 'spend',
metrics::json ->> 'impressions',
metrics::json ->> 'clicks'
from t1

Qui la mia DEMO mostra dati e casi reali, come estrarre su più colonne e trasmetterlo al tipo di dati esatto (float, intero)

Riferisco questa domanda , posso usare json_to_recordper questo o altro metodo e come?

Risposte

1 BlueStar Oct 06 2020 at 05:44

Puoi semplicemente specificare le colonne che desideri nella struttura di ritorno. Quindi, se sei interessato solo alla "spesa" e alle "impressioni", puoi farlo

SELECT x.*
FROM t1, json_to_record(t1.metrics) 
AS x(spend numeric, impressions int);