Teradata - Logische und bedingte Operatoren

Teradata unterstützt die folgenden logischen und bedingten Operatoren. Diese Operatoren werden verwendet, um Vergleiche durchzuführen und mehrere Bedingungen zu kombinieren.

Syntax Bedeutung
> Größer als
< Weniger als
>= Größer als oder gleich wie
<= Gleich oder kleiner als
= Gleicht
BETWEEN Wenn Werte innerhalb des Bereichs liegen
IN Wenn Werte in <Ausdruck>
NOT IN Wenn Werte nicht in <Ausdruck> enthalten sind
IS NULL Wenn der Wert NULL ist
IS NOT NULL Wenn der Wert NICHT NULL ist
AND Kombinieren Sie mehrere Bedingungen. Wird nur dann als wahr ausgewertet, wenn alle Bedingungen erfüllt sind
OR Kombinieren Sie mehrere Bedingungen. Wird nur dann als wahr ausgewertet, wenn eine der Bedingungen erfüllt ist.
NOT Kehrt die Bedeutung der Bedingung um

ZWISCHEN

Mit dem Befehl BETWEEN wird überprüft, ob ein Wert innerhalb eines Wertebereichs liegt.

Beispiel

Betrachten Sie die folgende Mitarbeitertabelle.

EmployeeNo Vorname Familienname, Nachname JoinedDate AbteilungNr Geburtsdatum
101 Mike James 27.03.2005 1 05.01.1980
102 Robert Williams 25.04.2007 2 05.03.1983
103 Peter Paul 21.03.2007 2 01.04.1983
104 Alex Stuart 01.02.2008 2 06.11.1984
105 Robert James 04.01.2008 3 01.12.1984

Im folgenden Beispiel werden Datensätze mit Mitarbeiternummern im Bereich zwischen 101.102 und 103 abgerufen.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo BETWEEN 101 AND 103;

Wenn die obige Abfrage ausgeführt wird, werden die Mitarbeiterdatensätze mit der Mitarbeiternummer zwischen 101 und 103 zurückgegeben.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

IM

Mit dem Befehl IN wird der Wert anhand einer bestimmten Werteliste überprüft.

Beispiel

Im folgenden Beispiel werden Datensätze mit Mitarbeiternummern in 101, 102 und 103 abgerufen.

SELECT EmployeeNo, FirstName FROM  
Employee 
WHERE EmployeeNo in (101,102,103);

Die obige Abfrage gibt die folgenden Datensätze zurück.

*** Query completed. 3 rows found. 2 columns returned. 
*** Total elapsed time was 1 second.  
 EmployeeNo            FirstName 
-----------  ------------------------------ 
   101                   Mike 
   102                   Robert 
   103                   Peter

NICHT IN

Der Befehl NOT IN kehrt das Ergebnis des Befehls IN um. Es ruft Datensätze mit Werten ab, die nicht mit der angegebenen Liste übereinstimmen.

Beispiel

Im folgenden Beispiel werden Datensätze mit Mitarbeiternummern abgerufen, die nicht in 101, 102 und 103 enthalten sind.

SELECT * FROM  
Employee 
WHERE EmployeeNo not in (101,102,103);

Die obige Abfrage gibt die folgenden Datensätze zurück.

*** Query completed. 2 rows found. 6 columns returned. 
*** Total elapsed time was 1 second. 
 EmployeeNo          FirstName                      LastName 
----------- ------------------------------ -----------------------------    
    104                Alex                          Stuart 
    105                Robert                        James