本文将介绍如何使用 SQL 查询将包含 JSON 数组数据的字段解析为三列数据。

例如,假设您有一个名为 data 的表,其中包含一个名为 categories 的列,该列存储一个 JSON 数组,例如:

[{"行业":100.0},{"技术":100.0},{"政策":90}]

您希望将这些 JSON 数据解析为三列:category, namevalue

您可以使用以下 SQL 查询来实现:

SELECT
  json_array_elements(categories)::jsonb ->> 'name' AS category,
  json_array_elements(categories)::jsonb ->> 'name' AS name,
  json_array_elements(categories)::jsonb ->> 'value' AS value
FROM data;

这个查询使用了以下函数:

  • json_array_elements(categories):将 JSON 数组中的每个元素作为单独的行返回。
  • ::jsonb:将每个元素转换为 JSONB 类型。
  • ->>:从 JSON 对象中获取指定键的值。

通过以上操作,您就可以将 JSON 数组数据解析为三列数据,方便进行数据分析和展示。

使用 SQL 解析 JSON 数组数据为三列

原文地址: http://www.cveoy.top/t/topic/lOen 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录