gpt4 book ai didi

arrays - 将字符串值的 Redshift super 数组转换为逗号分隔的字符串

转载 作者:行者123 更新时间:2023-12-05 02:42:02 28 4
gpt4 key购买 nike

我在 Redshift 中有 super 数据类型的值,看起来像 ["a", "b", "c"]

我正在尝试在 Athena SQL 中编写类似 array_join 的函数,它将所有部分与分隔符组合在一起。因此,对于上面的示例,它将返回 a, b, c 的 varchar 值。

如果需要,我有权创建 python/sql 用户定义函数,但 python UDF 无法读取 super 数据类型。
我已经尝试将数组转换为子查询表并使用 partiql 取消嵌套,但 redshift 不允许我取消嵌套领导者或其他东西的子查询。我的方法是然后将这些值重新组合在一起。我能够创建一个表而不是子查询并成功取消嵌套/listagg 值,但 sql 函数不允许多命令。

我还尝试使用涉及 seq_0_5 View 的在线指南将 sql 数组拆分为行并将代码调整为 super 函数。这没有用,因为当我尝试使用不等式连接表时,redshift 断开了我的连接。

如果我接近了,请告诉我,但感觉我已经进入了 2 个死胡同。

最佳答案

万一有人遇到这个问题,我找到了解决方案!有一个名为 json_serialize 的 json 函数可将 super 转换为字符串。然后你只需要修剪掉括号并替换掉双引号。

关于arrays - 将字符串值的 Redshift super 数组转换为逗号分隔的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67827876/

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