

 Amazon Redshift non supporterà più la creazione di nuovi Python UDFs a partire dalla Patch 198. Python esistente UDFs continuerà a funzionare fino al 30 giugno 2026. Per ulteriori informazioni, consulta il [post del blog](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/). 

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Funzione COLLATE
<a name="r_COLLATE"></a>

La funzione COLLATE sovrascrive il confronto di una colonna o di un'espressione stringa. 

Per informazioni su come creare le tabelle mediante il confronto di database, consultare [CREATE TABLE](r_CREATE_TABLE_NEW.md).

Per informazioni su come creare i database mediante il confronto di database, consultare [CREATE DATABASE](r_CREATE_DATABASE.md).

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

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

## Arguments (Argomenti)
<a name="r_COLLATE-argument"></a>

 *stringa*   
Una colonna o un'espressione di stringa che desideri sovrascrivere.

 *'case\$1sensitive'* \$1 *'cs'* \$1 *'case\$1insensitive'* \$1 *'ci'*   
Una costante di stringa di un nome di confronto. Amazon Redshift supporta solo i valori seguenti per questo parametro:  
+  *case\$1sensitive* 
+  *cs* 
+  *case\$1insensitive* 
+  *ci* 
*case\$1sensitive* e *cs* sono intercambiabili e producono gli stessi risultati. Allo stesso modo *case\$1insensitive* e *ci* sono intercambiabili e producono gli stessi risultati.

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

La funzione COLLATE restituisce `VARCHAR`, `CHAR` o `SUPER` a seconda del primo tipo di espressione di input. Questa funzione modifica il confronto solo del primo argomento di input e non ne modifica il valore di output.

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

Per creare la tabella T e definire col1 nella tabella T come `case_sensitive`, utilizza il seguente esempio.

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

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

 Quando esegui la prima query, Amazon Redshift restituisce solo `john`. Dopo che la funzione COLLATE viene eseguita su col1, il confronto diventa `case_insensitive`. La seconda query restituisce sia `john` che `JOHN`. 

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

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

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

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

Per creare la tabella A e definire col1 nella tabella A come `case_insensitive`, utilizza il seguente esempio.

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

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

 Quando esegui la prima query, Amazon Redshift restituisce sia `john` che `JOHN`. Dopo che la funzione COLLATE viene eseguita su col1, il confronto diventa `case_sensitive`. La seconda query restituisce solo `john`. 

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

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

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

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