我有一个名为 Metadata 的列,其中包含一系列具有这种结构的数据:
{“模板”:{“模板”:{“uuid”:“810f7345-e4d2-445b-843b-eb038uwh48b5”,“名称”:“finance_template_reminder_24h”},“语言”:“eng”,“国家/地区”:“ “}}
编写此查询时,我只想提取模板的名称。上面的这个名为finance_template_reminder_24h,但还有其他的。
如何在 select 语句中解压它。
样品:
select m.contact_id, m.metadata ->>'templating' -> 'name' as template
from messages m
错误:
Error running query: operator does not exist: text ->> unknown LINE 1: ...ery ID: adhoc */ select m.contact_id, m.metadata ->>'templa... ^ HINT: No operator matches the given name and argument types. You might need to add explicit type casts.
谢谢
要访问模板 -> 模板中的
name
字段,如果您有 json 类型列,则可以使用以下查询:
SELECT
m.contact_id,
m.metadata -> 'templating' -> 'template' ->> 'name' AS template_name
FROM messages m;