

 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 CHARINDEX
<a name="r_CHARINDEX"></a>

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

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

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

```
CHARINDEX( substring, string )
```

## Argumentos
<a name="charindex-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="charindex-return-type"></a>

 INTEGER   
La función CHARINDEX 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. CHARINDEX devuelve `0` si no se encuentra una subcadena dentro de la cadena.

## Ejemplos
<a name="sub-charindex-usage-notes-examples"></a>

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

```
SELECT CHARINDEX('fish', 'dog');

+-----------+
| charindex |
+-----------+
|         0 |
+-----------+
```

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

```
SELECT CHARINDEX('fish', 'dogfish');

+-----------+
| charindex |
+-----------+
|         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 CHARINDEX('.', commission), COUNT (CHARINDEX('.', commission))
FROM sales 
WHERE CHARINDEX('.', commission) > 4 
GROUP BY CHARINDEX('.', commission)
ORDER BY 1,2;

+-----------+-------+
| charindex | count |
+-----------+-------+
|         5 |   629 |
+-----------+-------+
```