type postgres example ejemplo array_to_json json database postgresql function

json - example - Elimine las comillas dobles de la devolución de una función en PostgreSQL



postgresql json type (1)

El operador -> devuelve un resultado json . Convertirlo en text deja en una representación de json.

El operador ->> devuelve un resultado de text . Usa eso en su lugar.

test=> SELECT ''{"car": "going"}''::jsonb -> ''car''; ?column? ---------- "going" (1 row) test=> SELECT ''{"car": "going"}''::jsonb ->> ''car''; ?column? ---------- going (1 row)

Tengo la siguiente función en PostgreSQL

CREATE OR REPLACE FUNCTION public.translatejson(JSONB, TEXT) RETURNS TEXT AS $BODY$ SELECT ($1->$2)::TEXT $BODY$ LANGUAGE sql STABLE;

Cuando lo ejecuto recibo los valores entre comillas dobles. Por ejemplo:

SELECT id, translatejson("title", ''en-US'') AS "tname" FROM types."FuelTypes";

a cambio consigo una mesa como esta

------------------- | id | tname | ------------------- | 1 | "gasoline" | | 2 | "diesel" | -------------------

Los valores en la columna ''título'' están en formato JSON: {"en-US": "gasolina", "fr-FR": "esencia"}. ¿Cómo puedo omitir las comillas dobles para devolver solo la cadena del resultado?