如何在Postgresql中将数组json列中的值提取到多行中?

如何在Postgresql中将数组json列中的值提取到多行中?,sql,json,postgresql,jsonb,Sql,Json,Postgresql,Jsonb,如何从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,'[{&quo

如何从
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}]')
;
预期结果:

开始 终点 1. 100 101 1000 1001 2000 2001 2002
您可以使用
jsonb_to_记录集
函数执行以下操作:

SELECT ranges."Start",
       ranges."End"
FROM   test_table,
       jsonb_to_recordset(test_table.ranges) AS ranges("End" int, "Start" int)