查詢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中文網其他相關文章!