查询 PostgreSQL 中的 JSON 数据类型字段
PostgreSQL 9.2 引入了 JSON 数据类型,但对 JSON 记录中的字段进行高级查询需要自定义函数。 PostgreSQL 9.3 通过运算符和函数扩展了这些功能。
具体而言,对于具有名为“data”的 JSON 列的表:
Postgres 9.3:
SELECT object FROM json_tbl , json_array_elements(data) AS object WHERE object->>'name' = 'Toby';
Postgres 9.4:
Postgres 9.5:
Postgres 12:
SELECT jsonb_path_query_first(data, '$[*] ? (@.name == "Toby")') AS object FROM jsonb_tbl WHERE data @> '[{ "name": "Toby"}]'; -- optional for indexing
或等效:
... WHERE data @@ '$[*].name == "Toby"';
其他资源:
以上是如何在PostgreSQL中查询JSON和JSONB数据?的详细内容。更多信息请关注PHP中文网其他相关文章!