在 Presto 中将 array(double) 转换为 varchar

ali*_*vip 6 sql presto trino

我正在尝试将 Array(double) 转换为 Presto 中的 varchar。样本值:[99.0,98.0,99.0,95.0,99.0,88.0,90.0,79.0,90.0,56.0,90.0,90.0,92.0,90.0,93.0,99.0]

我尝试了下面的强制转换函数:

cast(colname as varchar)

但收到此错误消息:“无法将 array(double) 转换为 varchar”

任何想法如何将此数组转换为 varchar。谢谢

Gur*_*ron 9

您可以使用array_join

\n
\n

array_join(x, delimiter, null_replacement)\xe2\x86\x92varchar

\n

使用分隔符和可选字符串连接给定数组的元素以替换空值。

\n
\n
SELECT array_join(ARRAY [1, 2],  \', \') -- 1, 2\n
Run Code Online (Sandbox Code Playgroud)\n

或者转换为 json 并使用json_format

\n
SELECT json_format(cast(ARRAY [1, 2] as json)) -- [1,2]\n
Run Code Online (Sandbox Code Playgroud)\n