All Products
Search
Document Center

MaxCompute:ARRAY_POSITION

Last Updated:Jul 02, 2025

Mengembalikan posisi kemunculan pertama dari elemen tertentu dalam Array a. Posisi elemen dihitung dari kiri ke kanan, dimulai dari 1.

Sintaksis

bigint array_position(array<T> <a>, T <element>)

Parameter

  • a: Wajib. Menentukan array. T dalam array<T> menentukan tipe data elemen-elemen dalam array. Tipe data yang didukung meliputi:

    • 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

  • element: Wajib. Elemen yang ingin dicari posisinya. Tipe data elemen ini harus sesuai dengan tipe data elemen-elemen dalam Array a.

Nilai pengembalian

Mengembalikan nilai bertipe BIGINT. Nilai pengembalian mengikuti aturan berikut:

  • Jika nilai a atau element adalah null, maka null akan dikembalikan.

  • Jika elemen yang ditentukan tidak ditemukan, 0 akan dikembalikan.

Contoh

  • Contoh 1: Mengembalikan posisi kemunculan pertama dari 1 dalam array(3, 2, 1). Pernyataan contoh:

    -- Nilai pengembalian adalah 3. 
    select array_position(array(3, 2, 1), 1);
  • Contoh 2: Elemen yang ditentukan adalah null. Pernyataan contoh:

    -- Nilai pengembalian adalah null. 
    select array_position(array(3, 1, null), null);

Fungsi terkait

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