首頁 > 資料庫 > 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 資料類型,它以儲存原生Posts gregre JSON 資料。
  • 使用 GIN 或其他類型的索引可以改進

Postgres 9.5:

  • 完整的 jsonb 函數和運算符。
  • 更多用於操作和顯示jsonb 的函數data.

Postgres 12:

  • SQL/JSON 路徑語言/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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板