

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

Compara o valor de duas strings e retorna um número inteiro. Se as strings forem idênticas, a função retornará `0`. Se a primeira string for alfabeticamente posterior, a função retornará `1`. Se a segunda string for posterior, a função retornará `-1`. 

Para caracteres multibyte, a comparação é baseada na codificação de byte.

Sinônimo de [Função BTTEXT\_PATTERN\_CMP](r_BTTEXT_PATTERN_CMP.md). 

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

```
BPCHARCMP(string1, string2)
```

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

 *string1*   
Uma string `CHAR` ou uma string `VARCHAR`. 

 *string2*   
Uma string `CHAR` ou uma string `VARCHAR`. 

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

 INTEGER 

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

 Os exemplos a seguir usam a tabela USERS do banco de dados de amostra TICKIT. Para obter mais informações, consulte [Banco de dados de exemplo](c_sampledb.md). 

Para determinar se o primeiro nome de um usuário é alfabeticamente posterior ao sobrenome do usuário para as dez primeiras entradas na tabela USERS, use o exemplo a seguir. Para entradas em que a string de FIRSTNAME for alfabeticamente posterior à string de LASTNAME, a função retornará `1`. Se LASTNAME for alfabeticamente posterior a FIRSTNAME, a função retornará `-1`.

```
SELECT userid, firstname, lastname, BPCHARCMP(firstname, lastname)
FROM users
ORDER BY 1, 2, 3, 4
LIMIT 10;

+--------+-----------+-----------+-----------+
| userid | firstname | lastname  | bpcharcmp |
+--------+-----------+-----------+-----------+
|      1 | Rafael    | Taylor    |        -1 |
|      2 | Vladimir  | Humphrey  |         1 |
|      3 | Lars      | Ratliff   |        -1 |
|      4 | Barry     | Roy       |        -1 |
|      5 | Reagan    | Hodge     |         1 |
|      6 | Victor    | Hernandez |         1 |
|      7 | Tamekah   | Juarez    |         1 |
|      8 | Colton    | Roy       |        -1 |
|      9 | Mufutau   | Watkins   |        -1 |
|     10 | Naida     | Calderon  |         1 |
+--------+-----------+-----------+-----------+
```

Para retornar todas as entradas na tabela USERS em que a função retorna `0`, use o exemplo a seguir. A função retorna `0` quando FIRSTNAME é idêntico a LASTNAME. 

```
SELECT userid, firstname, lastname,
BPCHARCMP(firstname, lastname)
FROM users 
WHERE BPCHARCMP(firstname, lastname)=0
ORDER BY 1, 2, 3, 4;

+--------+-----------+----------+-----------+
| userid | firstname | lastname | bpcharcmp |
+--------+-----------+----------+-----------+
|     62 | Chase     | Chase    |         0 |
|   4008 | Whitney   | Whitney  |         0 |
|  12516 | Graham    | Graham   |         0 |
|  13570 | Harper    | Harper   |         0 |
|  16712 | Cooper    | Cooper   |         0 |
|  18359 | Chase     | Chase    |         0 |
|  27530 | Bradley   | Bradley  |         0 |
|  31204 | Harding   | Harding  |         0 |
+--------+-----------+----------+-----------+
```