

 Amazon Redshift dejará de admitir la creación de nuevas UDF de Python a partir del parche 198. Las UDF de Python existentes seguirán funcionando hasta el 30 de junio de 2026. Para obtener más información, consulte la [publicación del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Función ARRAY\$1POSITION
<a name="array_position"></a>

Devuelve la posición (índice) de la primera aparición de un elemento especificado en una matriz. El índice comienza en 0, donde 0 indica el primer elemento, 1 indica el segundo elemento, y así sucesivamente. Devuelve -1 si el elemento no se encuentra en la matriz.

La función solo devuelve la posición de la primera aparición. Para encontrar todas las apariciones, considere utilizar la función [Función ARRAY\$1POSITIONS](array_positions.md).

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

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

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

 *array*   
Una expresión SUPER que especifica la matriz en la que se va a buscar.

 *valor de*   
Un valor que especifica el elemento que se va a buscar.

 *null\$1match*   
Un valor booleano que especifica cómo se gestionan los valores NULL:  
+ *null\$1match* = FALSE: al buscar NULL, devuelve NULL. Si la matriz contiene valores NULL y no se encuentra ninguna coincidencia para un valor de búsqueda distinto de NULL, devuelve NULL.
+ *null\$1match* = TRUE: los valores NULL se tratan como elementos válidos y susceptibles de búsqueda. Si la matriz contiene valores NULOS y no se encuentra ninguna coincidencia con un valor de búsqueda distinto de NULL, devuelve -1.
El valor predeterminado es TRUE.  
La gestión predeterminada de NULL también se puede especificar mediante la opción de configuración:  

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

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

La función ARRAY\$1POSITION devuelve un tipo INT.

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

Los ejemplos siguientes muestran la función 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)
```

Los ejemplos siguientes muestran el comportamiento de la función con *null\$1match* establecido en 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)
```

Los ejemplos siguientes muestran el comportamiento de la función con *null\$1match* establecido en FALSE. Tenga en cuenta que si se especifica el comportamiento *null\$1match* en la función, se anulará el valor de configuración predeterminado.

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

## Véase también
<a name="array_position-see-also"></a>
+ [Función ARRAY\$1POSITIONS](array_positions.md)
+ [Función ARRAY\$1CONTAINS](array_contains.md)
+ [Función SUBARRAY](r_subarray.md)