zip_with 函数

适用于:check marked yes Databricks SQL check marked yes Databricks Runtime

使用 func 按元素将 expr1expr2 中的数组合并到单个数组中。

语法

zip_with(expr1, expr2, func)

参数

  • expr1:一个 ARRAY 表达式。
  • expr2:一个 ARRAY 表达式。
  • func:采用两个参数的 lambda 函数。

返回

lambda 函数的结果的 ARRAY。

如果一个数组较短,则会在应用 func 之前,先在该数组末尾追加 NULL,以匹配较长数组的长度。

示例

> SELECT zip_with(array(1, 2, 3), array('a', 'b', 'c'), (x, y) -> (y, x));
 [{a, 1}, {b, 2}, {c, 3}]
> SELECT zip_with(array(1, 2), array(3, 4), (x, y) -> x + y);
 [4,6]
> SELECT zip_with(array('a', 'b', 'c'), array('d', 'e', 'f'), (x, y) -> concat(x, y));
 [ad , be, cf]