

 Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting [ blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) yang diterbitkan pada 30 Juni 2025. 

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Fungsi ARRAY\_POSITION
<a name="array_position"></a>

Mengembalikan posisi (indeks) dari kejadian pertama dari elemen tertentu dalam array. Indeks berbasis 0, di mana 0 menunjukkan elemen pertama, 1 menunjukkan elemen kedua, dan seterusnya. Mengembalikan -1 jika elemen tidak ditemukan dalam array.

Fungsi hanya mengembalikan posisi kejadian pertama. Untuk menemukan semua kejadian, pertimbangkan untuk menggunakan [Fungsi ARRAY\_POSITIONS](array_positions.md) fungsi.

## Sintaksis
<a name="array_position-syntax"></a>

```
ARRAY_POSITION( array, value [, null_match] )
```

## Argumen
<a name="array_position-arguments"></a>

 *array*   
Ekspresi SUPER yang menentukan array untuk mencari.

 *nilai*   
Sebuah nilai yang menentukan elemen untuk mencari.

 *null\_match*   
Sebuah nilai boolean yang menentukan bagaimana nilai-nilai NULL ditangani:  
+ *null\_match* = FALSE: Mencari NULL mengembalikan NULL. Jika array berisi nilai NULL dan tidak ada kecocokan ditemukan untuk nilai pencarian non-NULL, mengembalikan NULL.
+ *null\_match* = TRUE: NULL diperlakukan sebagai elemen yang valid dan dapat dicari. Jika array berisi nilai NULL dan tidak ada kecocokan ditemukan untuk nilai pencarian non-NULL, ia mengembalikan -1.
Defaultnya adalah BETUL.  
Penanganan NULL default juga dapat ditentukan oleh opsi konfigurasi:  

```
-- same as null_match = TRUE
SET default_array_search_null_handling to TRUE;
```

## Jenis pengembalian
<a name="array_position-return-type"></a>

Fungsi ARRAY\_POSITION mengembalikan tipe INT.

## Contoh
<a name="array_position-example"></a>

Contoh berikut menunjukkan fungsi ARRAY\_POSITION.

```
SELECT ARRAY_POSITION(ARRAY('red', 'green'), 'red');
 array_position 
----------------
              0
(1 row)

SELECT ARRAY_POSITION(ARRAY(1, 2, 3), 4);
 array_position 
----------------
             -1
(1 row)

-- only the position of the first occurrence is returned
SELECT ARRAY_POSITION(ARRAY('red', 'green', 'red'), 'red');
 array_position 
----------------
              0
(1 row)
```

Contoh berikut menunjukkan perilaku fungsi dengan *null\_match* disetel ke TRUE.

```
SET default_array_search_null_handling to TRUE;

-- NULL search is enabled
SELECT ARRAY_POSITION(ARRAY('red', NULL, 'green'), NULL);
 array_position 
----------------
              1
(1 row)

-- The array can contain NULLs
SELECT ARRAY_POSITION(ARRAY('red', NULL, 'green'), 'blue', TRUE);
 array_position 
----------------
             -1
(1 row)
```

Contoh berikut menunjukkan perilaku fungsi dengan *null\_match* disetel ke FALSE. Perhatikan bahwa menentukan perilaku *null\_match* dalam fungsi akan mengganti pengaturan konfigurasi default.

```
-- same as null_match = TRUE
SET default_array_search_null_handling to TRUE;

-- NULL search is disabled. The default behavior is overridden
SELECT ARRAY_POSITION(ARRAY('red', 'green'), NULL, FALSE);
 array_position 
----------------
               
(1 row)

-- same as null_match = FALSE
SET default_array_search_null_handling to FALSE;

-- The array contains NULL and a match is found
SELECT ARRAY_POSITION(ARRAY('red', NULL, 'green'), 'green');
 array_position 
----------------
              2
(1 row)

-- The array contains NULL but no match is found
SELECT ARRAY_POSITION(ARRAY('red', NULL, 'green'), 'blue');
 array_position 
----------------
               
(1 row)
```

## Lihat juga
<a name="array_position-see-also"></a>
+ [Fungsi ARRAY\_POSITIONS](array_positions.md)
+ [Fungsi ARRAY\_CONTAINS](array_contains.md)
+ [Fungsi SUBARRAY](r_subarray.md)