

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

A função COLATE substitui o agrupamento de uma coluna de string ou expressão. 

Para obter informações sobre como criar tabelas usando o agrupamento de banco de dados, consulte [CRIAR TABELA](r_CREATE_TABLE_NEW.md).

Para obter informações sobre como criar banco de dados usando o agrupamento de banco de dados, consulte [CREATE DATABASE](r_CREATE_DATABASE.md).

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

```
COLLATE( string, 'case_sensitive' | 'cs' | 'case_insensitive' | 'ci');
```

## Argumentos
<a name="r_COLLATE-argument"></a>

 *string*   
Uma coluna de string ou expressão que você deseja substituir.

 *'case\_sensitive'* \| *'cs'* \| *'case\_insensitive'* \| *'ci'*   
Uma constante de string de um nome de agrupamento. O Amazon Redshift permite somente os seguintes valores para esse parâmetro:  
+  *case\_sensitive* 
+  *cs* 
+  *case\_insensitive* 
+  *ci* 
*case\_sensitive* e *cs* são intercambiáveis e geram os mesmos resultados. Da mesma forma, *case\_insensitive* e *ci* são intercambiáveis e geram os mesmos resultados.

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

A função COLLATE exibe `VARCHAR`, `CHAR` ou `SUPER` dependendo do primeiro tipo de expressão de entrada. Esta função altera apenas o agrupamento do primeiro argumento de entrada e não altera o seu valor de saída.

## Exemplos
<a name="r_COLLATE-example"></a>

Para criar a tabela T e definir a col1 na tabela T como `case_sensitive`, use o exemplo a seguir.

```
CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive );

INSERT INTO T VALUES ('john'),('JOHN');
```

 Quando você executa a primeira consulta, o Amazon Redshift retorna apenas `john`. Depois que a função COLLATE é executada em col1, o agrupamento se torna `case_insensitive`. A segunda consulta retorna `john` e `JOHN`. 

```
SELECT * FROM T WHERE col1 = 'john';

+------+
| col1 |
+------+
| john |
+------+

SELECT * FROM T WHERE COLLATE(col1, 'case_insensitive') = 'john';

+------+
| col1 |
+------+
| john |
| JOHN |
+------+
```

Para criar a tabela A e definir a col1 na tabela A como `case_insensitive`, use o exemplo a seguir.

```
CREATE TABLE A ( col1 Varchar(20) COLLATE case_insensitive );

INSERT INTO A VALUES ('john'),('JOHN');
```

 Quando você executa a primeira consulta, o Amazon Redshift retorna `john` e `JOHN`. Depois que a função COLLATE é executada em col1, o agrupamento se torna `case_sensitive`. A segunda consulta retorna somente `john`. 

```
SELECT * FROM A WHERE col1 = 'john';

+------+
| col1 |
+------+
| john |
| JOHN |
+------+

SELECT * FROM A WHERE COLLATE(col1, 'case_sensitive') = 'john';

+------+
| col1 |
+------+
| john |
+------+
```