Cách lấy dữ liệu từ Json sang nhiều cột PostgreSQL
Oct 05 2020
Tôi muốn trích xuất nhiều đối tượng (không phải tất cả đối tượng) trong JSON nhưng không muốn nhập từng thứ như thế này:
Select *,
metrics::json ->> 'spend',
metrics::json ->> 'impressions',
metrics::json ->> 'clicks'
from t1
Ở đây DEMO của tôi hiển thị dữ liệu thực và trường hợp, cách trích xuất thành nhiều cột và truyền nó thành kiểu dữ liệu chính xác (float, integer)
Tôi tham khảo câu hỏi này , tôi có thể sử dụng json_to_recordcho phương pháp này hay phương pháp khác và làm thế nào?
Trả lời
1 BlueStar Oct 06 2020 at 05:44
Bạn chỉ có thể chỉ định các cột bạn muốn trong cấu trúc trả về. Vì vậy, nếu bạn chỉ quan tâm đến "chi tiêu" và "hiển thị", bạn có thể
SELECT x.*
FROM t1, json_to_record(t1.metrics)
AS x(spend numeric, impressions int);