gpt4 book ai didi

sql - 在不创建表的情况下使用 json_populate_recordset?

转载 作者:行者123 更新时间:2023-11-29 11:16:03 25 4
gpt4 key购买 nike

我的数据库中有一个表,其中有一列包含 json 记录。

id | json_records
---+-------------
0 | "[{'x1' : 1234, 'x2' : 5678},{'x1' : 2345, 'x2' : 6789}]'
1 | "[{'x1' : 4321, 'x2' : 8765},{'x1' : 5432, 'x2' : 9876}]'

我想得到这样的东西:

id |   x1 |   x2
---+------+-----
0 | 1234 | 5678
0 | 2345 | 6789
1 | 4321 | 8765
1 | 5432 | 9876

但我无法使查询正常工作:

select json_populate_recordset(json_records) from my_table

我看到的几个使用 json_populate_recordset 的示例将结果插入到表中,但我只是想返回结果。有没有办法在不创建新表的情况下做到这一点?

最佳答案

您必须创建一个新类型以传递给该函数(请注意,由于 json_populate 返回一个 json_type,您必须使用 (row)。* 用于获取单个字段的符号):

CREATE type json_type AS (x1 int, x2 int);

SELECT id, (json_populate_recordset(null::json_type, json_records)).* FROM my_table;

关于sql - 在不创建表的情况下使用 json_populate_recordset?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28822085/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com