Sql json格式转换为varchar
我用postgresql编写查询,我将数据存储为一列的json格式,现在我需要json的特定值 消息数据:{apiMessageId:162fbbbe8f0e2a67,用户电子邮件:jack@liveonlinecloud.info,cloudId:1} 这是数据,我只想使用电子邮件 这是我的问题Sql json格式转换为varchar,sql,json,postgresql,Sql,Json,Postgresql,我用postgresql编写查询,我将数据存储为一列的json格式,现在我需要json的特定值 消息数据:{apiMessageId:162fbbbe8f0e2a67,用户电子邮件:jack@liveonlinecloud.info,cloudId:1} 这是数据,我只想使用电子邮件 这是我的问题 SELECT id, process_id, process_state, cast(message_data->> \'userEmail\' AS VARCHAR) AS userEm
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';
->>文本获取JSON对象字段作为文本
重点矿山
所以我不知道为什么要将文本强制转换为varchar,但如果确实要,请使用
cast(message_data->> 'userEmail')::varchar
castmessage_data->>“userEmail”::varchar,但它是文本,所以我看不出有任何额外castmessage的需要。反斜杠在SQL中不会转义任何内容。你应该使用“userEmail”而不是“userEmail”