You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Metabase中提取JSON字段outgoing冒号后对应值的SQL查询需求

在Metabase中提取JSON字段中的值

针对你数据表中outgoing字段的JSON结构(键名不固定,有普通名称和old.前缀两种情况),可以根据底层数据库类型选择以下方法提取冒号后的值:

底层为PostgreSQL时

直接用PostgreSQL的JSON函数遍历键值对,不管键名是什么都能拿到对应值:

SELECT
  id,
  status,
  (SELECT value FROM json_each_text(outgoing::json)) AS outgoing_value
FROM 你的表名;

说明:outgoing::json将字符串类型的字段转为JSON类型,json_each_text遍历所有键值对并取出value部分,就是你要的processing、cancelled这类值。

底层为MySQL时

通过获取键名再拼接路径提取值:

SELECT
  id,
  status,
  JSON_UNQUOTE(
    JSON_EXTRACT(outgoing, CONCAT('$.', JSON_UNQUOTE(JSON_KEYS(outgoing))))
  ) AS outgoing_value
FROM 你的表名;

说明:JSON_KEYS(outgoing)获取JSON里的唯一键名,拼接成$.键名的路径后,用JSON_EXTRACT提取值,最后JSON_UNQUOTE去掉值的引号。

用Metabase原生自定义字段(无需写SQL)

在Metabase的可视化界面中添加自定义字段,根据数据库选择对应表达式:

  • 适配MySQL:
unquote(json_extract(outgoing, concat('$.', json_keys(outgoing))))
  • 适配PostgreSQL:
json_extract_path_text(outgoing::json, json_object_keys(outgoing::json))

内容的提问来源于stack exchange,提问作者siraug22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 03:15:27