全部產品
Search
文件中心

MaxCompute:ZIP_WITH

更新時間:Jun 19, 2024

將ARRAY數組ab的元素按照位置,使用combiner進行元素層級的合并,返回一個新的ARRAY數組。

命令格式

array<R> zip_with(array<T> <a>, array<S> <b>, function<T, S, R> <combiner>)

參數說明

  • ab:必填。ARRAY數組。array<T>array<S>中的TS指代ARRAY數組元素的資料類型,數組中的元素可以為任意類型。

  • combiner:必填。用於合并ARRAY數組ab中元素的函數(內建函數或自訂函數)或運算式。它的兩個輸入參數類型分別與ARRAY數組ab中元素的資料類型一致。

傳回值說明

返回ARRAY類型。返回規則如下:

  • 新產生的ARRAY數組中元素位置與ab中相應元素的位置相同。

  • 如果ARRAY數組ab的長度不一致,會將長度較短的ARRAY數組使用NULL值進行填充,然後進行合并。

使用樣本

--返回[2, 4, 6, NULL]。
select zip_with(array(1,2,3), array(1,2,3,4), (x,y) -> x + y);
說明

使用樣本中涉及->的使用,關於Lambda函數->的介紹,詳情請參見Lambda函數

相關函數

ZIP_WITH函數屬於複雜類型函數,更多對複雜類型資料(例如ARRAY、MAP、STRUCT、JSON資料)的處理函數請參見複雜類型函數