Referencia de funciones

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 jsonb
jsonb
path
Claves o números de elementos de array desde 0, en el orden de anidamiento
text

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;
city
Paris

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;
event_idpromo_code
1SUMMER20
2<NULL>
3NEWYEAR
4<NULL>
5SUMMER20

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.

Véase también