JSONB_EXTRACT_PATH_TEXT
Возвращает как текст значение из JSON по пути из ключей.
PostgreSQL 17.9
JSONB_EXTRACT_PATH_TEXT(from_json, path[, ...])- [ ]необязательная часть
- ...можно повторить
- from_json
- Значение типа jsonbjsonb
- path
- Ключи или номера элементов массива с 0 по порядку вложенностиtext
Возвращаемое значение
Строка (text); NULL, если такого пути нет
Примеры
Город из вложенного объекта
PostgreSQL 17.9
SELECT JSONB_EXTRACT_PATH_TEXT(
'{"user": {"name": "Ann", "city": "Paris"}}',
'user',
'city'
) AS city;Промокод из данных события
PostgreSQL 17.9
SELECT event_id,
JSONB_EXTRACT_PATH_TEXT(metadata, 'promo_code') AS promo_code
FROM events
LIMIT 5;Подробности
Делает то же, что цепочка операторов: JSONB_EXTRACT_PATH_TEXT(data, 'user', 'city') равно data -> 'user' ->> 'city'. Для типа json есть JSON_EXTRACT_PATH_TEXT, а вернуть значение как JSON можно через JSONB_EXTRACT_PATH.