JSONB_EXTRACT_PATH_TEXT
Devuelve como texto un valor de un JSON siguiendo una ruta de claves.
PostgreSQL 17.9
JSONB_EXTRACT_PATH_TEXT(from_json, path[, ...])- [ ]parte opcional
- ...se puede repetir
- from_json
- Valor de tipo jsonbjsonb
- path
- Claves o números de elementos de array desde 0, en el orden de anidamientotext
Valor devuelto
Cadena (text); NULL si esa ruta no existe
Ejemplos
Ciudad de un objeto anidado
PostgreSQL 17.9
SELECT JSONB_EXTRACT_PATH_TEXT(
'{"user": {"name": "Ann", "city": "Paris"}}',
'user',
'city'
) AS city;Código promocional de los datos de un evento
PostgreSQL 17.9
SELECT event_id,
JSONB_EXTRACT_PATH_TEXT(metadata, 'promo_code') AS promo_code
FROM events
LIMIT 5;Detalles
La función hace lo mismo que una cadena de operadores: JSONB_EXTRACT_PATH_TEXT(data, 'user', 'city') equivale a data -> 'user' ->> 'city'. Para el tipo json existe JSON_EXTRACT_PATH_TEXT, y para obtener el valor como JSON, usa JSONB_EXTRACT_PATH.