すべてのプロダクト
Search
ドキュメントセンター

MaxCompute:ARRAYS_ZIP

最終更新日:Dec 16, 2024

複数の指定された配列をマージし、struct配列を返します。この配列では、N番目の構造体に入力配列のN番目の要素がすべて含まれます。

構文

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

パラメーター

aおよびb: 必須。 このパラメーターは、配列を指定します。 array<T>Tarray<U>Uは、配列内の要素のデータ型を指定します。 要素は任意のデータ型にすることができます。

次のデータ型がサポートされています。

  • TINYINT、SMALLINT、INT、およびBIGINT

  • フロートとダブル

  • BOOLEAN

  • デシマルとデシマル

  • DATE、DATETIME、TIMESTAMP、IntervalDayTime、およびIntervalYearMonth

  • STRING、BINARY、VARCHAR、CHAR

  • アレイ、STRUCT、マップ

戻り値

ARRAY型の値が返されます。 戻り値は、次のルールによって異なります。

  • 生成されたstruct配列のN番目のstructには、入力配列のN番目の要素がすべて含まれます。 配列に含まれる要素がN個未満の場合、配列のN番目の要素としてnullが使用されます。

  • 1つ以上の入力配列がnullの場合、nullが返されます。

  • 例1: array(1, 2, 3)array(2, 3, 4) をstruct配列にマージします。 例:

    -- The return value is [{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(1、2、3)array(4、5) をstruct配列にマージします。 例:

    -- The return value is [{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などの複雑なデータ型のデータを処理するために使用される関数の詳細については、複合型関数.