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 中国語 Web サイトの他の関連記事を参照してください。