Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Vergleichsbedingung
Vergleichsbedingungen machen eine Aussage bezüglich der logischen Beziehungen zwischen zwei Werten. Alle Vergleichsbedingungen sind binäre Operatoren mit einem Booleschen Rückgabewert. Amazon Redshift unterstützt die in der folgenden Tabelle beschriebenen Vergleichsoperatoren:
Operator | Syntax | Beschreibung |
---|---|---|
< | a < b
|
Der Wert von a ist kleiner als der Wert von b. |
> | a > b
|
Der Wert von a ist größer als der Wert von b. |
<= | a <= b
|
Der Wert von a ist kleiner als oder gleich dem Wert von b. |
>= | a >= b
|
Der Wert von a ist größer als oder gleich dem Wert von b. |
= | a = b
|
Der Wert von a ist gleich dem Wert von b. |
<> oder != | a <> b or a != b
|
Der Wert von a ist nicht gleich dem Wert von b. |
ANY | SOME | a = ANY(subquery)
|
Der Wert von a entspricht einem der in der Unterabfrage „subquery“ zurückgegebenen Werte. |
ALL | a <> ALL or != ALL (subquery))
|
Der Wert von a entspricht keinem der in der Unterabfrage „subquery“ zurückgegebenen Werte. |
IS TRUE | FALSE | UNKNOWN | a IS TRUE |
Der Wert von a ist der Boolesche Wert „wahr“ (TRUE). |
Nutzungshinweise
- = ANY | SOME
-
Die Schlüsselwörter ANY und SOME sind synonym mit der IN-Bedingung. Sie geben „wahr“ zurück, wenn mindestens einer der von einer Unterabfrage zurückgegebenen Werte „wahr“ ist. Amazon Redshift unterstützt nur die Bedingung = (gleich) für ANY und SOME. Ungleichheitsbedingungen werden nicht unterstützt.
Anmerkung
Das Prädikat ALL wird nicht unterstützt.
- <> ALL
-
Das Schlüsselwort ALL ist synonym mit NOT IN (vgl. IN-Bedingung-Bedingung) und gibt „wahr“ zurück, wenn der Ausdruck nicht in den Ergebnissen der Unterabfrage enthalten ist. Amazon Redshift unterstützt nur die <> oder != (nicht gleich)-Bedingung für ALL. Andere Vergleichsbedingungen werden nicht unterstützt.
- IST TRUE/FALSE/UNKNOWN
-
Werte ungleich 0 werden zu TRUE ausgewertet, 0 zu FALSE, und „Null“ zu UNKNOWN. Siehe Datentyp Typ BOOLEAN.
Beispiele
Einige einfache Beispiele für Vergleichsbedingungen:
a = 5
a < b
min(x) >= 5
qtysold = any (select qtysold from sales where dateid = 1882
Die folgende Abfrage gibt aus der Tabelle VENUE die Veranstaltungen mit über 10.000 Plätzen zurück:
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)
In diesem Beispiel werden diejenigen Benutzer (USERID) aus der Tabelle USERS ausgewählt, die Rockmusik schätzen:
select userid from users where likerock = 't' order by 1 limit 5;
userid
--------
3
5
6
13
16
(5 rows)
In diesem Beispiel werden diejenigen Benutzer(USERID) aus der Tabelle USERS ausgewählt, von denen nicht bekannt ist, ob sie Rockmusik schätzen:
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
Beispiele mit einer TIME-Spalte
Die folgende Beispieltabelle TIME_TEST enthält eine Spalte TIME_VAL (Typ TIME) mit drei eingefügten Werten.
select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00
Im folgenden Beispiel werden die Stunden aus jedem timetz_val extrahiert.
select time_val from time_test where time_val < '3:00'; time_val --------------- 00:00:00.5550 00:58:00
Im folgenden Beispiel werden zwei Zeitliterale verglichen.
select time '18:25:33.123456' = time '18:25:33.123456'; ?column? ---------- t
Beispiele mit einer TIMETZ-Spalte
Die folgende Beispieltabelle TIMETZ_TEST enthält eine Spalte TIMETZ_VAL (Typ TIMETZ) mit drei eingefügten Werten.
select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00
Im folgenden Beispiel werden nur die TIMETZ-Werte ausgewählt, die kleiner als sind 3:00:00
UTC
. Der Vergleich erfolgt nach der Umwandlung des Wertes in UTC.
select timetz_val from timetz_test where timetz_val < '3:00:00 UTC'; timetz_val --------------- 00:00:00.5550+00
Im folgenden Beispiel werden zwei TIMETZ-Literale verglichen. Beim Vergleich wird die Zeitzone ignoriert.
select time '18:25:33.123456 PST' < time '19:25:33.123456 EST'; ?column? ---------- t