如何将数组 json 列中的值提取到 Postgresql 中的多行中?
How to extract values from array json column into multiple rows in Postgresql?
如何从 ranges
列的 json 数组中提取值作为多行 Postgresq?
CREATE TABLE test_table (
id INTEGER,
ranges jsonb
);
INSERT INTO test_table(id, ranges) VALUES
(1,'[{"End": 100, "Start": 1}, {"End": 1000, "Start": 101}]'),
(2,'[{"End": 2000, "Start": 1001}, {"End": 2002, "Start": 2001}]')
;
预期结果:
Start
End
1
100
101
1000
1001
2000
2001
2002
您可以为此使用 jsonb_to_recordset
函数:
SELECT ranges."Start",
ranges."End"
FROM test_table,
jsonb_to_recordset(test_table.ranges) AS ranges("End" int, "Start" int)
如何从 ranges
列的 json 数组中提取值作为多行 Postgresq?
CREATE TABLE test_table (
id INTEGER,
ranges jsonb
);
INSERT INTO test_table(id, ranges) VALUES
(1,'[{"End": 100, "Start": 1}, {"End": 1000, "Start": 101}]'),
(2,'[{"End": 2000, "Start": 1001}, {"End": 2002, "Start": 2001}]')
;
预期结果:
Start | End |
---|---|
1 | 100 |
101 | 1000 |
1001 | 2000 |
2001 | 2002 |
您可以为此使用 jsonb_to_recordset
函数:
SELECT ranges."Start",
ranges."End"
FROM test_table,
jsonb_to_recordset(test_table.ranges) AS ranges("End" int, "Start" int)