

 Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai Patch 198. Python yang ada UDFs akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, 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/). 

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

# Fungsi ARRAY\$1POSITION
<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 mengembalikan hanya posisi kejadian pertama. Untuk menemukan semua kejadian, pertimbangkan untuk menggunakan [Fungsi ARRAY\$1POSITIONS](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\$1match*   
Sebuah nilai boolean yang menentukan bagaimana nilai-nilai NULL ditangani:  
+ *null\$1match* = FALSE: Mencari NULL mengembalikan NULL. Jika array berisi nilai NULL dan tidak ada kecocokan ditemukan untuk nilai pencarian non-NULL, mengembalikan NULL.
+ *null\$1match* = TRUE: diperlakukan sebagai elemen NULLs 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\$1POSITION mengembalikan tipe INT.

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

Contoh berikut menunjukkan fungsi ARRAY\$1POSITION.

```
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\$1match* 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\$1match* disetel ke FALSE. Perhatikan bahwa menentukan perilaku *null\$1match* 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\$1POSITIONS](array_positions.md)
+ [Fungsi ARRAY\$1CONTAINS](array_contains.md)
+ [Fungsi SUBARRAY](r_subarray.md)