Mengembalikan nilai yang memenuhi kondisi tertentu dalam peta atau larik.
Sintaksis
INDEX (<var1>[<var2>])Catatan penggunaan
Jika var1 bertipe
array<T>, fungsi ini mengambil elemen pada posisi var2 dalam var1. Posisi elemen dihitung dari kiri ke kanan, dimulai dari 0.Jika var1 bertipe
map<K, V>, fungsi ini mengambil nilai dengan kunci var2 dalam var1.
Saat menggunakan fungsi ini, Anda harus menghapus
indexdan langsung mengeksekusi<var1>[<var2>]. Jika tidak, akan terjadi kesalahan.Jika
var1bertipe array, makavar2berfungsi sebagai indeks. Jikavar1bertipe map, makavar2berperan sebagai kunci.
Parameter
var1: Wajib. Nilainya harus bertipe
array<T>ataumap<K, V>.Tdalamarray<T>menentukan tipe data elemen dalam array. Elemen dapat berupa tipe data apa pun.KdanVdalammap<K, V>menentukan kunci dan nilai dari sebuah peta.var2: Wajib.
Jika var1 bertipe
array<T>, var2 harus bertipe BIGINT dan lebih besar atau sama dengan 0.Jika var1 bertipe
map<K, V>, var2 harus memiliki tipe data yang sama dengan K.
Nilai kembali
Jika var1 bertipe
array<T>, nilai yang dikembalikan adalah tipe data yang ditentukan oleh T. Nilai kembali bervariasi berdasarkan aturan berikut:Jika jumlah elemen dalam var1 kurang dari var2, null dikembalikan.
Jika var1 adalah null, null dikembalikan.
Jika var1 bertipe
map<K, V>, nilai yang dikembalikan adalah tipe data yang ditentukan oleh V. Nilai kembali bervariasi berdasarkan aturan berikut:Jika
map<K, V>tidak mengandung kunci dengan nilai var2, null dikembalikan.Jika var1 adalah null, null dikembalikan.
Contoh
Contoh 1: var1 bertipe
array<T>. Contoh pernyataan:-- Nilai kembali adalah c. SELECT ARRAY('a','b','c')[2];Contoh 2: var1 bertipe
map<K, V>. Contoh pernyataan:-- Nilai kembali adalah 1. SELECT STR_TO_MAP("test1=1,test2=2")["test1"];
Fungsi terkait
INDEX adalah 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.