我有一列保存一个对象数组:
[{"name": "Sue", "job": "dev"}, {"name": "Bob", "job": "designer"}]
我想选择该列,但是我仅对字段“ job”的值感兴趣,所以我想要一个这样的数组:
["dev", "designer"]
我认为可以使用JSON运算符和函数来执行此操作,但是在这里找不到合适的方法:https://www.postgresql.org/docs/10/functions-json.html。我在那些文档中忽略了什么吗?还有另一种方法可以做到这一点吗?
答案 0 :(得分:0)
json_to_recordset和array_agg应该可以解决您的问题:
select array_agg(job)
from myTable
cross join lateral
json_to_recordset(myTable.myJsonColumn) as t(name text, job text);
注意:感谢Tony对数组的了解。我错过了。