如何将array_concat与float列和array列一起使用

时间:2019-07-10 17:09:30

标签: arrays google-bigquery

我想创建一个将数组列和浮点列合并为一个数组的数组

我尝试过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 

我想要一个将我的数组列与非数组浮点列中的单个元素组合在一起的单个数组。

1 个答案:

答案 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