

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

A função OCTETINDEX retorna a localização de uma substring dentro de uma string como um número de bytes.

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

```
OCTETINDEX(substring, string)
```

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

 *substring*   
Uma string `CHAR`, uma string `VARCHAR` ou uma expressão que é avaliada implicitamente como um tipo `CHAR` ou `VARCHAR`. 

 *string*   
Uma string `CHAR`, uma string `VARCHAR` ou uma expressão que é avaliada implicitamente como um tipo `CHAR` ou `VARCHAR`. 

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

 INTEGER   
A função OCTETINDEX exibe um valor `INTEGER` correspondente à posição da *substring* dentro da *string* como um número de bytes, em que o primeiro caractere na *string* é contado como 1. Se a *string* não contiver caracteres multibyte, o resultado será igual ao resultado da função CHARINDEX. Se a *string* não contiver a *substring*, a função retornará `0`. Se a *substring* estiver vazia, a função retornará `1`. 

## Exemplos
<a name="OCTETINDEX-examples"></a>

Para exibir a posição da substring `q` na string `Amazon Redshift`, use o exemplo a seguir. Esse exemplo retornará `0` porque a *substring* não está na *string*.

```
SELECT OCTETINDEX('q', 'Amazon Redshift');

+------------+
| octetindex |
+------------+
|          0 |
+------------+
```

Para exibir a posição de uma substring vazia na string `Amazon Redshift`, use o exemplo a seguir. Este exemplo retornará `1` porque a *substring* está vazia.

```
SELECT OCTETINDEX('', 'Amazon Redshift');

+------------+
| octetindex |
+------------+
|          1 |
+------------+
```

Para exibir a posição da substring `Redshift` na string `Amazon Redshift`, use o exemplo a seguir. Esse exemplo retorna `8` porque a *substring* começa no oitavo byte da *string*.

```
SELECT OCTETINDEX('Redshift', 'Amazon Redshift');

+------------+
| octetindex |
+------------+
|          8 |
+------------+
```

Para exibir a posição da substring `Redshift` na string `Amazon Redshift`, use o exemplo a seguir. O exemplo a seguir retorna `21` porque os primeiros seis caracteres da *string* são caracteres de byte duplo.

```
SELECT OCTETINDEX('Redshift', 'Άμαζον Amazon Redshift');

+------------+
| octetindex |
+------------+
|         21 |
+------------+
```