PostgreSQL提取JSONB字段值合并至数据集行的SQL实现
PostgreSQL JSONB列转结构化检索方案(Spring JDBC场景)
我有一个包含JSONB类型列的PostgreSQL表,需要通过Spring JDBC检索数据,将JSONB中的字段提取出来,形成如下结构化结果:
| ColumnA | ColumnB | ColumnC | Output Field 1 | Output Field 2 |
|---|---|---|---|---|
| 123 | 3434 | 123 | 100 | 12 |
| 34 | 56 | 656 | 1100 | 22 |
最初尝试使用jsonb_to_record()函数实现,但执行失败,原SQL语句如下:
SELECT * FROM tableABC,jsonb_to_record( columnJsonB->'Output Fields' ) AS x(Output Field 1 TEXT, Output Field 2 TEXT)
问题出在字段名包含空格,为字段名添加双引号后即可正常运行,正确的SQL语句如下:
SELECT * FROM tableABC,jsonb_to_record( columnJsonB->'Output Fields' ) AS x("Output Field 1" TEXT, "Output Field 2" TEXT)
内容的提问来源于stack exchange,提问作者Aki T
相关产品推荐
相关产品推荐

