json格式转换为varchar

时间:2018-05-22 13:30:11

标签: sql json postgresql

我在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 :(得分:1)

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

  

- >> text将JSON对象字段作为文本

(强调我的)

所以我不知道为什么你要将text投射到varchar,但如果你真的这样做,请使用

cast(message_data->> 'userEmail')::varchar