Abfragen von JSON-Datentypfeldern in PostgreSQL
PostgreSQL 9.2 führte den JSON-Datentyp ein, aber für die erweiterte Abfrage von Feldern in JSON-Datensätzen waren benutzerdefinierte Funktionen erforderlich. PostgreSQL 9.3 hat diese Fähigkeiten um Operatoren und Funktionen erweitert.
Speziell für eine Tabelle mit einer JSON-Spalte namens „data“:
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
Oder gleichwertig:
... WHERE data @@ '$[*].name == "Toby"';
Zusätzlich Ressourcen:
Das obige ist der detaillierte Inhalt vonWie frage ich JSON- und JSONB-Daten in PostgreSQL ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!