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