全部產品
Search
文件中心

MaxCompute:ARRAYS_ZIP

更新時間:Jun 19, 2024

合并多個給定數組並返回一個結構數組,其中第N個結構包含輸入數組的所有第N個值。

命令格式

array<struct<T, U, ...>> arrays_zip(array<T> <a>, array<U> <b>[, ...])

參數說明

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

數組中的元素可以為如下類型:

  • TINYINT、SMALLINT、INT、BIGINT

  • FLOAT、DOUBLE

  • BOOLEAN

  • DECIMAL、DECIMALVAL

  • DATE、DATETIME、TIMESTAMP、IntervalDayTime、IntervalYearMonth

  • STRING、BINARY、VARCHAR、CHAR

  • ARRAY、STRUCT、MAP

傳回值說明

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

  • 產生的結構數組中第N個結構包含輸入數組的所有第N個值, 不足N的元素以NULL填充。

  • 如果輸入ARRAY數組中任意一個為NULL,返回結果為NULL。

使用樣本

  • 樣本1:通過ARRAY數組array(1, 2, 3)array(2, 3, 4)構造結構數組。命令樣本如下。

    --返回[{0:1, 1:2}, {0:2, 1:3}, {0:3, 1:4}]。
    select arrays_zip(array(1, 2, 3), array(2, 3, 4));
  • 樣本2:通過ARRAY數組array(1, 2, 3)array(4, 5)構造結構數組。命令樣本如下。

    --返回[{0:1, 1:4}, {0:2, 1:5}, {0:3, 1:NULL}]。
    select arrays_zip(array(1, 2, 3), array(4, 5));

相關函數

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