

 Amazon Redshift ne prendra plus en charge la création de nouveaux Python à UDFs partir du patch 198. UDFs Le Python existant continuera de fonctionner jusqu'au 30 juin 2026. Pour plus d’informations, consultez le [ billet de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

Renvoie la position (index) de la première occurrence d'un élément spécifié dans un tableau. L'indice est basé sur 0, où 0 indique le premier élément, 1 indique le deuxième élément, etc. Renvoie -1 si l'élément est introuvable dans le tableau.

La fonction renvoie uniquement la position de la première occurrence. Pour trouver toutes les occurrences, pensez à utiliser la [Fonction ARRAY\$1POSITIONS](array_positions.md) fonction.

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

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

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

 *réseau*   
Expression SUPER qui indique le tableau dans lequel effectuer la recherche.

 *valeur*   
Valeur qui indique l'élément à rechercher.

 *null\$1match*   
Une valeur booléenne qui indique comment les valeurs NULL sont gérées :  
+ *null\$1match* = FALSE : la recherche de NULL renvoie NULL. Si le tableau contient des valeurs NULL et qu'aucune correspondance n'est trouvée pour une valeur de recherche non nulle, renvoie NULL.
+ *null\$1match* = TRUE : NULLs sont traités comme des éléments valides et consultables. Si le tableau contient des valeurs NULL et qu'aucune correspondance n'est trouvée pour une valeur de recherche non nulle, il renvoie -1.
La valeur par défaut est TRUE.  
La gestion des valeurs NULL par défaut peut également être spécifiée par l'option de configuration :  

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

## Type de retour
<a name="array_position-return-type"></a>

La fonction ARRAY\$1POSITION renvoie un type INT.

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

Les exemples suivants illustrent la fonction 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)
```

Les exemples suivants montrent le comportement de la fonction lorsque *null\$1match* est défini sur 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)
```

Les exemples suivants montrent le comportement de la fonction lorsque *null\$1match* est défini sur FALSE. Notez que la spécification du comportement *null\$1match* dans la fonction remplacera le paramètre de configuration par défaut.

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

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