

 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à.

# LIKE
<a name="r_patternmatching_condition_like"></a>

L'operatore LIKE confronta un'espressione di stringa, come il nome di colonna, con un modello che usa i caratteri jolly % (percentuale) e \$1 (sottolineatura). La corrispondenza di modello LIKE copre sempre l'intera stringa. Per trovare la corrispondenza con una sequenza in qualsiasi parte di una stringa, è necessario che il modello inizi e termini con un segno di percentuale. 

LIKE fa distinzione tra maiuscole e minuscole, ILIKE no.

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

```
expression [ NOT ] LIKE | ILIKE pattern [ ESCAPE 'escape_char' ]
```

## Arguments (Argomenti)
<a name="r_patternmatching_condition_like-arguments"></a>

 *espressione*   
Un'espressione di caratteri UTF-8 valida, come un nome di colonna. 

LIKE \$1 ILIKE   
LIKE esegue una corrispondenza di modello che fa distinzione tra maiuscole e minuscole. ILIKE esegue una corrispondenza di modello che non fa distinzione tra maiuscole e minuscole per caratteri UTF-8 (ASCII) a byte singolo. Per eseguire una corrispondenza di modello che non fa distinzione tra maiuscole e minuscole per caratteri multibyte, utilizzare la funzione [LOWER](r_LOWER.md) sull'*espressione* e *modello* con una condizione LIKE.  
Al contrario dei predicati di confronto, come = e <>, i predicati LIKE e ILIKE non ignorano implicitamente gli spazi finali. Per ignorare gli spazi finali, utilizzare RTRIM o trasmettere in modo esplicito una colonna CHAR a VARCHAR.  
L'operatore `~~` è equivalente a LIKE e `~~*` è equivalente a ILIKE. Inoltre, gli operatori `!~~` e `!~~*` sono equivalenti a NOT LIKE e NOT ILIKE.

 *pattern*   
Un'espressione di caratteri UTF-8 valida con il modello da associare. 

 *escape\$1char*   
Un'espressione di caratteri che eseguirà l'escape dei metacaratteri nel modello. Per impostazione predefinita sono due barre rovesciate ("\$1\$1"). 

Se il *modello* non contiene metacaratteri, allora il modello rappresenta solo la stringa stessa; in questo caso LIKE agisce come l'operatore di uguaglianza.

Entrambe le espressioni di caratteri possono essere tipi di dati CHAR o VARCHAR. Se differiscono, Amazon Redshift converte il *modello* al tipo di dati dell'*espressione*. 

LIKE supporta i seguenti metacaratteri di corrispondenza di modelli: 

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/dg/r_patternmatching_condition_like.html)

## Esempi
<a name="r_patternmatching_condition_like-examples"></a>

La tabella seguente mostra esempi di corrispondenza di modelli usando LIKE:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/redshift/latest/dg/r_patternmatching_condition_like.html)

L'esempio seguente trova tutte le città il cui nome inizia per "E": 

```
select distinct city from users
where city like 'E%' order by city;
city
---------------
East Hartford
East Lansing
East Rutherford
East St. Louis
Easthampton
Easton
Eatontown
Eau Claire
...
```

L'esempio seguente trova tutti gli utenti il cui cognome contiene "ten":

```
select distinct lastname from users
where lastname like '%ten%' order by lastname;
lastname
-------------
Christensen
Wooten
...
```

Nell'esempio seguente viene illustrato come mettere in corrispondenza più modelli.

```
select distinct lastname from tickit.users
where lastname like 'Chris%' or lastname like '%Wooten' order by lastname;
lastname
-------------
Christensen
Christian
Wooten
...
```

L'esempio seguente trova le città il cui terzo e quarto carattere sono "ea". Il comando usa ILIKE per dimostrare che non fa distinzione tra maiuscole e minuscole: 

```
select distinct city from users where city ilike '__EA%' order by city;
city
-------------
Brea
Clearwater
Great Falls
Ocean City
Olean
Wheaton
(6 rows)
```

Nell'esempio seguente viene usata la stringa con caratteri escape predefinita (\$1\$1) per ricercare stringhe che contengono "start\$1" (il testo `start` seguito da una sottolineatura `_`): 

```
select tablename, "column" from pg_table_def 
where "column" like '%start\\_%'
limit 5;

     tablename     |    column
-------------------+---------------
 stl_s3client      | start_time
 stl_tr_conflict   | xact_start_ts
 stl_undone        | undo_start_ts
 stl_unload_log    | start_time
 stl_vacuum_detail | start_row
(5 rows)
```

L'esempio seguente specifica "^" come carattere di escape, quindi usa il carattere di escape per ricercare stringhe che contengono "start\$1" (il testo `start` seguito da una sottolineatura `_`): 

```
select tablename, "column" from pg_table_def 
where "column" like '%start^_%' escape '^' 
limit 5;

     tablename     |    column
-------------------+---------------
 stl_s3client      | start_time
 stl_tr_conflict   | xact_start_ts
 stl_undone        | undo_start_ts
 stl_unload_log    | start_time
 stl_vacuum_detail | start_row
(5 rows)
```

L'esempio seguente utilizza l'operatore `~~*` per eseguire una ricerca senza distinzione tra maiuscole e minuscole (ILIKE) delle città che iniziano con "Ag". 

```
select distinct city from users where city ~~* 'Ag%' order by city;
                   
city
------------
Agat	
Agawam	
Agoura Hills	
Aguadilla
```