

 O Amazon Redshift não permitirá mais a criação de UDFs do Python a partir do Patch 198. As UDFs do Python existentes continuarão a funcionar normalmente até 30 de junho de 2026. Para ter mais informações, consulte a [publicação de blog ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

# Função CHARINDEX
<a name="r_CHARINDEX"></a>

Retorna a localização da substring especificada dentro de uma string. 

Consulte [Função POSITION](r_POSITION.md) e [Função STRPOS](r_STRPOS.md) para ver funções semelhantes.

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

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

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

 *substring*   
A substring a procurar dentro da *string*.

 *string*   
A string ou coluna a ser procurada.

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

 INTEGER   
A função CHARINDEX retorna um `INTEGER` correspondente à posição da substring (baseada em um, não baseada em zero). A posição é baseada no número de caracteres, e não bytes, de forma que caracteres multibyte são contados como caracteres simples. CHARINDEX retornará `0` se a substring não for localizada dentro da string.

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

Para retornar a posição da string `fish` na palavra `dog`, use o exemplo a seguir. 

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

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

Para retornar a posição da string `fish` na palavra `dogfish`, use o exemplo a seguir. 

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

+-----------+
| charindex |
+-----------+
|         4 |
+-----------+
```

 O exemplo a seguir usa a tabela SALES do exemplo de banco de dados TICKIT. Para obter mais informações, consulte [Banco de dados de exemplo](c_sampledb.md). 

Para retornar o número de transações de vendas distinta com uma comissão acima de 999,00 da tabela SALES, use o exemplo a seguir. Esse comando conta comissões maiores que 999,00 verificando se o decimal está acima de quatro casas a partir do início do valor da comissão.

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