Teradata - Operatori logici e condizionali
Teradata supporta i seguenti operatori logici e condizionali. Questi operatori vengono utilizzati per eseguire il confronto e combinare più condizioni.
Sintassi | Senso |
---|---|
> | Più grande di |
< | Meno di |
>= | Maggiore o uguale a |
<= | Minore o uguale a |
= | Uguale a |
BETWEEN | Se i valori rientrano nell'intervallo |
IN | Se i valori in <espressione> |
NOT IN | Se i valori non sono in <espressione> |
IS NULL | Se il valore è NULL |
IS NOT NULL | Se il valore è NON NULL |
AND | Combina più condizioni. Restituisce true solo se tutte le condizioni sono soddisfatte |
OR | Combina più condizioni. Restituisce true solo se una delle condizioni è soddisfatta. |
NOT | Inverte il significato della condizione |
FRA
Il comando BETWEEN viene utilizzato per verificare se un valore rientra in un intervallo di valori.
Esempio
Considera la seguente tabella dei dipendenti.
EmployeeNo | Nome di battesimo | Cognome | JoinedDate | DepartmentNo | Data di nascita |
---|---|---|---|---|---|
101 | Mike | James | 27/3/2005 | 1 | 1/5/1980 |
102 | Roberto | Williams | 4/25/2007 | 2 | 3/5/1983 |
103 | Peter | Paolo | 21/03/2007 | 2 | 4/1/1983 |
104 | Alex | Stuart | 2/1/2008 | 2 | 11/6/1984 |
105 | Roberto | James | 1/4/2008 | 3 | 12/1/1984 |
L'esempio seguente recupera i record con i numeri dei dipendenti compresi nell'intervallo tra 101,102 e 103.
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo BETWEEN 101 AND 103;
Quando la query precedente viene eseguita, restituisce i record dei dipendenti con un numero di dipendenti compreso tra 101 e 103.
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
----------- ------------------------------
101 Mike
102 Robert
103 Peter
IN
Il comando IN viene utilizzato per verificare il valore rispetto a un determinato elenco di valori.
Esempio
L'esempio seguente recupera i record con i numeri dei dipendenti in 101, 102 e 103.
SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo in (101,102,103);
La query precedente restituisce i seguenti record.
*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName
----------- ------------------------------
101 Mike
102 Robert
103 Peter
NON IN
Il comando NOT IN inverte il risultato del comando IN. Recupera i record con valori che non corrispondono all'elenco fornito.
Esempio
L'esempio seguente recupera i record con i numeri dei dipendenti non in 101, 102 e 103.
SELECT * FROM
Employee
WHERE EmployeeNo not in (101,102,103);
La query precedente restituisce i seguenti record.
*** Query completed. 2 rows found. 6 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------- ------------------------------ -----------------------------
104 Alex Stuart
105 Robert James