首页 > 数据库 > mysql教程 > 如何在PostgreSQL中查询JSON和JSONB数据?

如何在PostgreSQL中查询JSON和JSONB数据?

Mary-Kate Olsen
发布: 2025-01-18 19:32:02
原创
258 人浏览过

How to Query JSON and JSONB Data in PostgreSQL?

查询 PostgreSQL 中的 JSON 数据类型字段

PostgreSQL 9.2 引入了 JSON 数据类型,但对 JSON 记录中的字段进行高级查询需要自定义函数。 PostgreSQL 9.3 通过运算符和函数扩展了这些功能。

具体而言,对于具有名为“data”的 JSON 列的表:

Postgres 9.3:

  • 查找记录name:
SELECT object
FROM   json_tbl
     , json_array_elements(data) AS object
WHERE  object->>'name' = 'Toby';
登录后复制

Postgres 9.4:

  • 引入了 jsonb 数据类型,它以本机 Postgres 类型存储 JSON 数据。
  • 使用 GIN 或其他类型的索引可以改进

Postgres 9.5:

  • 完整的 jsonb 函数和运算符。
  • 更多用于操作和显示 jsonb 的函数data.

Postgres 12:

  • SQL/JSON 路径语言支持
  • 使用 JSON 按名称查找记录路径:
SELECT jsonb_path_query_first(data, '$[*] ? (@.name == "Toby")') AS object
FROM   jsonb_tbl
WHERE  data @> '[{ "name": "Toby"}]';  -- optional for indexing
登录后复制
  • 或等效:

    ...
    WHERE  data @@ '$[*].name == "Toby"';
    登录后复制

其他资源:

  • [Postgres 9.3 JSON功能](https://www.postgresql.org/docs/9.3/static/)
  • [Postgres JSONB 数据类型](https://www.postgresql.org/docs/current/static/datatype- json.html)
  • [Postgres 12 JSON 路径支持](https://www.postgresql.org/docs/12/static/functions-json.html)
  • [Github PostSQL 函数](https://github.com/daviddias/postsด้วย)

以上是如何在PostgreSQL中查询JSON和JSONB数据?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板