4

假设我有一个数据库表,其中包含几个常见的列,例如姓名、性别、年龄……

此外,我还有一个使用 JSON 数据类型(可从 Postgres 9.2 获得)的附加列,在 JSON 中具有任意长度和任意字段:

{"occupation":"football"}

{"occupation":"football", "hair-colour":"black"}

{"hair-style":"curly"}

使用 Postgres 9.3 的新功能,例如,我想返回所有带有职业 = 足球的行。

像这样的伪:select * from table where json_field.occupation = football

有没有办法做到这一点?

4

1 回答 1

8

->如果我正确理解了手册,您可以使用和运算符访问 JSON 字段->>。查询如下所示:

SELECT *
FROM your_table
WHERE json_field ->> 'occupation' = 'football';
于 2013-07-10T13:34:50.343 回答