Формат JSON приведен к VARCHAR - PullRequest
0 голосов
/ 22 мая 2018

Я пишу запрос в postgresql. У меня есть данные в формате json для одного столбца, и теперь мне нужно конкретное значение json

message_data: {"apiMessageId":"162fbbbe8f0e2a67","userEmail":"jack@liveonlinecloud.info","cloudId":1}

Это данныеи я хочу только userEmail и это мой запрос

SELECT id, process_id, process_state, cast(message_data->> \'userEmail\' AS VARCHAR) AS userEmail, inserted_at, completed_at 
FROM realtimeincomingemailnotificationsqueue 
where api_message_id = '162fbbbe8f0e2a67';

1 Ответ

0 голосов
/ 22 мая 2018

https://www.postgresql.org/docs/current/static/functions-json.html

- >> text Получить поле объекта JSON в виде text

(выделено мной)

поэтому я не понимаю, почему вы хотите разыграть text на varchar, но если вы действительно это делаете, используйте

cast(message_data->> 'userEmail')::varchar
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...