tipo - Cómo convertir postgres json a entero
postgresql json type (3)
to_json (1) :: text :: int quizás demasiado lento
Pero entonces, es la única manera.
La segunda parte de su pregunta no está clara.
Puedo usar to_json(1)
para convertir int a json, pero ¿cómo puedo convertir json a int? Esto puede ser demasiado lento:
to_json(1)::text::int
Además, ¿está json envuelto desde un bloque binario (bson) o un simple envoltorio de texto?
El soporte JSON de PostgreSQL 9.3 es simplemente texto json validado.
En 9.4 y más reciente puedes usar jsonb.
"puede ser demasiado lento" no tiene mucho sentido. ¿Qué te hace pensar que es demasiado lento? ¿Has probado y evaluado? Si es "demasiado lento", ¿qué velocidad no sería demasiado lenta, es decir, qué espera?
Lo que me funciona (usando posgtgresql 5.6) es
SELECT (tablename.jsoncolumnname->>''jsonfiledname'')::int FROM tablename;
me gusta
SELECT (users.data->>''failed_login_attempts_count'')::int FROM users;
Asumiendo users
tabla de users
tiene una columna json llamada data
que es algo así como:
{"failed_login_attempts_count":"2","comment":"VIP"}