

 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 POSITION
<a name="r_POSITION"></a>

Devuelve la ubicación de la subcadena especificada dentro de una cadena.

Consulte [Función CHARINDEX](r_CHARINDEX.md) y [Función STRPOS](r_STRPOS.md) para ver funciones similares.

## Sintaxis
<a name="position-synopsis"></a>

```
POSITION(substring IN string )
```

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

 *subcadena*   
Subcadena que se va a buscar dentro de la *cadena*. 

 *cadena*   
La cadena o columna que se buscará. 

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

La función POSITION devuelve un valor `INTEGER` correspondiente a la posición de la subcadena (basado en uno, no basado en cero). La posición se basa en la cantidad de caracteres, no bytes, por lo que los caracteres multibyte se cuentan como caracteres simples. POSITION devuelve `0` si no se encuentra subcadena dentro de la cadena.

## Ejemplos
<a name="sub-r_POSITION_usage_notes-examples"></a>

Para devolver la posición de la cadena `fish` dentro de la palabra `dog`, use el siguiente ejemplo. 

```
SELECT POSITION('fish' IN 'dog');

+-----------+
|  position |
+-----------+
|         0 |
+-----------+
```

Para devolver la posición de la cadena `fish` dentro de la palabra `dogfish`, use el siguiente ejemplo. 

```
SELECT POSITION('fish' IN 'dogfish');

+-----------+
|  position |
+-----------+
|         4 |
+-----------+
```

 En el siguiente ejemplo, se utiliza la tabla SALES de la base de datos de ejemplo TICKIT. Para obtener más información, consulte [Base de datos de muestra](c_sampledb.md). 

Para devolver la cantidad de transacciones de venta distintas con un parámetro de comisión que supere los 999 de la tabla SALES, use el siguiente ejemplo. Este comando cuenta las comisiones superiores a 999 comprobando si el decimal está a más de 4 lugares del principio del valor de la comisión.

```
SELECT DISTINCT POSITION('.' IN commission), COUNT (POSITION('.' IN commission))
FROM sales 
WHERE POSITION('.' IN commission) > 4 
GROUP BY POSITION('.' IN commission)
ORDER BY 1,2;

+-----------+-------+
|  position | count |
+-----------+-------+
|         5 |   629 |
+-----------+-------+
```