

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

# Operatori di confronto
<a name="comparison-operators"></a>

Le condizioni di confronto esprimono le relazioni logiche tra due valori. Tutte le condizioni di confronto sono operatori binari con un tipo restituito booleano. 

AWS Clean Rooms Spark SQL supporta gli operatori di confronto descritti nella tabella seguente.


| Operatore  | Sintassi  | Descrizione  | 
| --- | --- | --- | 
| \! | \!expression | L'`NOT`operatore logico. Utilizzato per negare un'espressione booleana, ossia restituisce l'opposto del valore dell'espressione.<br />Il\! L'operatore può anche essere combinato con altri operatori logici, come AND e OR, per creare espressioni booleane più complesse.  | 
| <  | a < b  | L'operatore less than comparison. Utilizzato per confrontare due valori e determinare se il valore a sinistra è inferiore a quello a destra. | 
| >  | a > b  | L'operatore maggiore di confronto. Utilizzato per confrontare due valori e determinare se il valore a sinistra è maggiore del valore a destra. | 
| <=  | a <= b  | L'operatore di confronto minore o uguale. Utilizzato per confrontare due valori e restituisce true se il valore a sinistra è minore o uguale al valore a destra e in false altro modo.  | 
| >=  | a >= b  | L'operatore di confronto maggiore o uguale a. Utilizzato per confrontare due valori e determinare se il valore a sinistra è maggiore o uguale al valore a destra. | 
| =  | a = b  | L'operatore di confronto delle uguaglianze, che confronta due valori e restituisce true se sono uguali e in false altro modo. | 
| <> o \!=  |  a <> b o a \!= b  | L'operatore di confronto non uguale a, che confronta due valori e restituisce true se non sono uguali e false in altro modo. | 
| == | a == b | L'operatore di confronto delle uguaglianze standard, che confronta due valori e restituisce true se sono uguali e false in altro modo. L'operatore == fa distinzione tra maiuscole e minuscole quando si confrontano i valori delle stringhe. Se è necessario eseguire un confronto senza distinzione tra maiuscole e minuscole, è possibile utilizzare funzioni come UPPER () o LOWER () per convertire i valori nello stesso formato maiuscolo/minuscolo prima del confronto.  | 

## Esempi
<a name="comparison-condition-example"></a>

Di seguito sono elencati alcuni semplici esempi di condizioni di confronto: 

```
a = 5
a < b
min(x) >= 5
qtysold = any (select qtysold from sales where dateid = 1882
```

La seguente query restituisce i valori id per tutti gli scoiattoli che attualmente non stanno cercando cibo.

```
SELECT id FROM squirrels 
WHERE !is_foraging
```

La seguente query restituisce le sedi con più di 10.000 posti nella tabella VENUE: 

```
select venueid, venuename, venueseats from venue
where venueseats > 10000
order by venueseats desc;

venueid |           venuename            | venueseats
---------+--------------------------------+------------
83 | FedExField                     |      91704
 6 | New York Giants Stadium        |      80242
79 | Arrowhead Stadium              |      79451
78 | INVESCO Field                  |      76125
69 | Dolphin Stadium                |      74916
67 | Ralph Wilson Stadium           |      73967
76 | Jacksonville Municipal Stadium |      73800
89 | Bank of America Stadium        |      73298
72 | Cleveland Browns Stadium       |      73200
86 | Lambeau Field                  |      72922
...
(57 rows)
```

Questo esempio seleziona dalla tabella USERS gli utenti (USERID) ai quali piace la musica rock:

```
select userid from users where likerock = 't' order by 1 limit 5;

userid
--------
3
5
6
13
16
(5 rows)
```

Questo esempio seleziona dalla tabella USERS gli utenti (USERID) per i quali si sa se gli piace la musica rock:

```
select firstname, lastname, likerock
from users
where likerock is unknown
order by userid limit 10;

firstname | lastname | likerock
----------+----------+----------
Rafael    | Taylor   |
Vladimir  | Humphrey |
Barry     | Roy      |
Tamekah   | Juarez   |
Mufutau   | Watkins  |
Naida     | Calderon |
Anika     | Huff     |
Bruce     | Beck     |
Mallory   | Farrell  |
Scarlett  | Mayer    |
(10 rows
```

## Esempi con una colonna TIME
<a name="comparison-condition-example-time"></a>

La tabella di esempio seguente TIME\_TEST ha una colonna TIME\_VAL (tipo TIME) con tre valori inseriti. 

```
select time_val from time_test;
            
time_val
---------------------
20:00:00
00:00:00.5550
00:58:00
```

Nell'esempio seguente vengono estratte le ore da ogni timetz\_val.

```
select time_val from time_test where time_val < '3:00';
   time_val
---------------
 00:00:00.5550
 00:58:00
```

L'esempio seguente confronta due valori letterali temporali. 

```
select time '18:25:33.123456' = time '18:25:33.123456';
 ?column?
----------
 t
```

## Esempi con una colonna TIMETZ
<a name="comparison-condition-example-timetz"></a>

La tabella di esempio seguente TIMETZ\_TEST ha una colonna TIMETZ\_VAL (tipo TIMETZ) con tre valori inseriti.

```
select timetz_val from timetz_test;
            
timetz_val
------------------
04:00:00+00
00:00:00.5550+00
05:58:00+00
```

Nell'esempio seguente vengono selezionati solo i valori TIMETZ inferiori a `3:00:00 UTC`. Il confronto viene effettuato dopo aver convertito il valore in UTC.

```
select timetz_val from timetz_test where timetz_val < '3:00:00 UTC';
                  
   timetz_val
---------------
 00:00:00.5550+00
```

L'esempio seguente confronta due valori letterali TIMETZ. Il fuso orario viene ignorato per il confronto. 

```
select time '18:25:33.123456 PST' < time '19:25:33.123456 EST';
                  
 ?column?
----------
 t
```