假设我有一个数据库表,其中包含一些常见的列,例如姓名、性别、年龄等……
此外,我还有一个使用 JSON 数据类型(从 Postgres 9.2 开始可用)的额外列,JSON 的长度和字段是任意的:
使用Postgres 9.3的新功能,我想要返回所有occupation = football的行。类似于这个伪代码:
此外,我还有一个使用 JSON 数据类型(从 Postgres 9.2 开始可用)的额外列,JSON 的长度和字段是任意的:
{"occupation":"football"}
{"occupation":"football", "hair-colour":"black"}
{"hair-style":"curly"}
使用Postgres 9.3的新功能,我想要返回所有occupation = football的行。类似于这个伪代码:
select * from table where json_field.occupation = football
。有没有办法实现这个功能?
json_to_elements
函数从数组中创建多行。因此,结构与您的相同,每行包含一个JSON对象。并且没有使用自定义函数。解决方案与您接受的完全相同。 - nif