Mengembalikan elemen dari array berdasarkan posisi atau nilai dari map berdasarkan kunci.
Sintaksis
Akses array
<array_expr>[<index>]Akses Peta
<map_expr>[<key>]Gunakan notasi kurung siku secara langsung. Jangan membungkusnya dalam INDEX(...)—pemanggilan INDEX(<var1>[<var2>]) akan menghasilkan error.
Catatan penggunaan
Pengindeksan array bersifat 0-based: elemen pertama berada pada indeks
0, elemen kedua pada1, dan seterusnya.Untuk akses map, kunci harus sesuai secara tepat dengan tipe kunci
Kyang dideklarasikan untuk map tersebut.
Parameter
Akses array
| Parameter | Tipe | Deskripsi |
|---|---|---|
array_expr | array<T> | Array yang akan diakses. Mengembalikan null jika array bernilai null. |
index | BIGINT, >= 0 | Posisi berbasis 0 dari elemen yang akan diambil. Mengembalikan null jika indeks berada di luar batas. |
Tipe kembali: T—tipe elemen yang dideklarasikan dalam array<T>.
Akses peta
| Parameter | Tipe | Deskripsi |
|---|---|---|
map_expr | map<K, V> | Map yang akan diakses. Mengembalikan null jika map bernilai null. |
key | Sama dengan tipe K | Kunci yang akan dicari. Mengembalikan null jika kunci tidak ada dalam map. |
Tipe kembali: V—tipe nilai yang dideklarasikan dalam map<K, V>.
Contoh
Akses elemen array berdasarkan posisi
-- Mengembalikan 'c' (indeks 2 adalah elemen ketiga)
SELECT ARRAY('a', 'b', 'c')[2];Akses nilai map berdasarkan kunci
-- Mengembalikan 1
SELECT STR_TO_MAP("test1=1,test2=2")["test1"];Fungsi terkait
INDEX merupakan fungsi tipe kompleks. Untuk informasi lebih lanjut mengenai fungsi yang memproses data ARRAY, MAP, STRUCT, dan JSON, lihat Complex type functions.