gpt4 book ai didi

Presto 中的 Postgresql json_each 等价物

转载 作者:行者123 更新时间:2023-11-29 14:13:40 26 4
gpt4 key购买 nike

我有以前使用 json_each(x) 从 Postgresql 中提取的数据,我正在数据库迁移后在 Presto 中寻找 json_each 的等效项以将我的数据提取到多行中。原来的格式是这样的{"0":100.0,"57000":75.0,"47000":80.0}

预期输出将键和值分成多行的 2 列

有什么想法吗?

最佳答案

这可以通过组合 Trino (formerly PrestoSQL) JSON functions 来实现与 UNNEST .步骤是:

  1. 使用 json_parse 将原始 JSON 解析为 JSON 类型
  2. 使用 JSON cast expression 从 JSON 转换为 map
  3. 使用 SQL 标准将 map 取消嵌套到行中 UNNEST table function

这是一个使用您的示例数据的查询:

WITH t AS (SELECT '{"0":100.0,"57000":75.0,"47000":80.0}' AS raw_json)
SELECT key, value
FROM
t,
UNNEST(
CAST(json_parse(raw_json) AS map(integer, double))
) x(key, value)

为了将来引用,此处描述了所有功能:https://trino.io/docs/current/functions.html

关于Presto 中的 Postgresql json_each 等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56818960/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com