我想创建一个将数组列和浮点列合并为一个数组的数组
我尝试过array_concat(array_column, float_column)
,但收到错误消息:
错误:ARRAY_CONCAT(或ARRAY_CONCAT_AGG)的参数必须是数组类型,但在[2:29]处为DOUBLE
对于一个字符串列(每行包含一个单词),我使用“”上的split作为创建数组然后使用array_concat的技巧将其转换为数组,但是我不能使用float列来做到这一点
我基本上想将float列转换为数组类型,以便可以将Array_concat与其他数组一起使用。
SELECT Product_ID, array_concat(split(Product_Name , ' '), price) as description
FROM table
我想要一个将我的数组列与非数组浮点列中的单个元素组合在一起的单个数组。
答案 0 :(得分:0)
这是你想要的吗?
WITH Raw AS (
select "product1_name" AS a, 2.0 AS b
union all
select "product2_name", 3.0
)
select
[a, CAST(b AS STRING)]
FROM
Raw
-----答复-----
合并数组批注和ARRAY_CONCAT
函数应该起作用
WITH Raw AS (
select ["a", "b", "c"] AS a, 2.0 AS b
union all
select ["b", "c"], 3.0
)
select
ARRAY_CONCAT(a, [CAST(b AS STRING)])
FROM
Raw