All Products
Search
Document Center

MaxCompute:ARRAYS_ZIP

Last Updated:Jul 02, 2025

Menggabungkan beberapa array yang diberikan dan mengembalikan array struct, di mana struct ke-N berisi semua elemen ke-N dari array input.

Sintaksis

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

Parameter

a dan b: wajib. Parameter ini menentukan sebuah array. T dalam array<T> dan U dalam array<U> menentukan tipe data elemen-elemen dalam array. Elemen-elemen tersebut dapat berupa tipe data apa pun.

Berikut adalah tipe data yang didukung:

  • TINYINT, SMALLINT, INT, dan BIGINT

  • FLOAT dan DOUBLE

  • BOOLEAN

  • DECIMAL dan DECIMALVAL

  • DATE, DATETIME, TIMESTAMP, IntervalDayTime, dan IntervalYearMonth

  • STRING, BINARY, VARCHAR, dan CHAR

  • ARRAY, STRUCT, dan MAP

Nilai kembali

Sebuah nilai dengan tipe ARRAY dikembalikan. Nilai kembali bervariasi berdasarkan aturan berikut:

  • Struct ke-N dalam array struct yang dihasilkan berisi semua elemen ke-N dari array input. Jika sebuah array memiliki kurang dari N elemen, null digunakan sebagai elemen ke-N dari array tersebut.

  • Jika satu atau lebih array input bernilai null, maka null akan dikembalikan.

Contoh

  • Contoh 1: Menggabungkan array(1, 2, 3) dan array(2, 3, 4) menjadi array struct. Contoh pernyataan:

    -- Nilai kembali adalah [{0:1, 1:2}, {0:2, 1:3}, {0:3, 1:4}]. 
    select arrays_zip(array(1, 2, 3), array(2, 3, 4));
  • Contoh 2: Menggabungkan array(1, 2, 3) dan array(4, 5) menjadi array struct. Contoh pernyataan:

    -- Nilai kembali adalah [{0:1, 1:4}, {0:2, 1:5}, {0:3, 1:null}]. 
    select arrays_zip(array(1, 2, 3), array(4, 5));

Fungsi terkait

ARRAYS_ZIP adalah fungsi tipe kompleks. Untuk informasi lebih lanjut tentang fungsi-fungsi yang digunakan untuk memproses data tipe data kompleks seperti ARRAY, MAP, STRUCT, dan JSON, lihat Fungsi Tipe Kompleks.