SQL Academy
Premium
Funktionsreferenz

JSONB_EXTRACT_PATH_TEXT

Gibt einen Wert aus JSON über einen Pfad von Schlüsseln als Text zurück.

PostgreSQL 17.5
JSONB_EXTRACT_PATH_TEXT(from_json, path[, ...])

Parameter

from_jsonjsonb
Wert vom Typ jsonb
pathtext
Schlüssel oder Array-Elementnummern in der Reihenfolge der Verschachtelung

Rückgabewert

String (text); NULL, wenn es diesen Pfad nicht gibt

Beispiele

Stadt aus einem verschachtelten Objekt

PostgreSQL 17.5
SELECT JSONB_EXTRACT_PATH_TEXT(
		'{"user": {"name": "Ann", "city": "Paris"}}',
		'user',
		'city'
	) AS city;
city
Paris

Promocode aus Ereignisdaten

PostgreSQL 17.5
SELECT event_id,
	JSONB_EXTRACT_PATH_TEXT(metadata, 'promo_code') AS promo_code
FROM events
LIMIT 5;
event_idpromo_code
1SUMMER20
2<NULL>
3NEWYEAR
4<NULL>
5SUMMER20

Details

Die Funktion macht dasselbe wie eine Kette von Operatoren: JSONB_EXTRACT_PATH_TEXT(data, 'user', 'city') entspricht data -> 'user' ->> 'city'. Für den Typ json gibt es JSON_EXTRACT_PATH_TEXT, und um den Wert als JSON zu bekommen, verwende JSONB_EXTRACT_PATH.

Siehe auch