

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# funzione ARRAY\$1POSITION
<a name="array_position"></a>

Restituisce la posizione (indice) della prima occorrenza di un elemento specificato in una matrice. L'indice è basato su 0, dove 0 indica il primo elemento, 1 indica il secondo elemento e così via. Restituisce -1 se l'elemento non viene trovato nell'array.

La funzione restituisce solo la posizione della prima occorrenza. Per trovare tutte le occorrenze, considerate l'utilizzo della [Funzione ARRAY\$1POSITIONS](array_positions.md) funzione.

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

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

## Arguments (Argomenti)
<a name="array_position-arguments"></a>

 *matrice*   
Un'espressione SUPER che specifica l'array in cui effettuare la ricerca.

 *value*   
Un valore che specifica l'elemento da cercare.

 *null\$1match*   
Un valore booleano che specifica come vengono gestiti i valori NULL:  
+ *null\$1match* = FALSE: la ricerca di NULL restituisce NULL. Se l'array contiene valori NULL e non viene trovata alcuna corrispondenza per un valore di ricerca diverso da NULL, restituisce NULL.
+ *null\$1match = TRUE: NULLs vengono considerati* elementi validi e ricercabili. Se l'array contiene valori NULL e non viene trovata alcuna corrispondenza per un valore di ricerca non NULL, restituisce -1.
Il valore predefinito è TRUE.  
La gestione predefinita dei NULL può essere specificata anche dall'opzione di configurazione:  

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

## Tipo restituito
<a name="array_position-return-type"></a>

La funzione ARRAY\$1POSITION restituisce un tipo INT.

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

Gli esempi seguenti mostrano la funzione 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)
```

Gli esempi seguenti mostrano il comportamento della funzione con *null\$1match* impostato su 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)
```

Gli esempi seguenti mostrano il comportamento della funzione con *null\$1match* impostato su FALSE. Nota che la specifica del comportamento *null\$1match* nella funzione sovrascriverà l'impostazione di configurazione predefinita.

```
-- 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)
```

## consultare anche
<a name="array_position-see-also"></a>
+ [Funzione ARRAY\$1POSITIONS](array_positions.md)
+ [Funzione ARRAY\$1CONTAINS](array_contains.md)
+ [funzione SUBARRAY](r_subarray.md)