Vergleichsbedingung - Amazon Redshift

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.
IST | | TRUE FALSE UNKNOWN a IS TRUE Der Wert a ist booleschTRUE.

Nutzungshinweise

= ANY | SOME

Die SOME Schlüsselwörter ANY und sind gleichbedeutend mit der IN-Bedingung und geben „true“ zurück, wenn der Vergleich für mindestens einen Wert zutrifft, der von einer Unterabfrage zurückgegeben wird, die einen oder mehrere Werte zurückgibt. Amazon Redshift unterstützt nur die Bedingung = (ist gleich) für ANY und. SOME Ungleichheitsbedingungen werden nicht unterstützt.

Anmerkung

Das ALL Prädikat wird nicht unterstützt.

<> ALL

Das ALL Schlüsselwort ist gleichbedeutend mit NOT IN (siehe IN-Bedingung Bedingung) und gibt true zurück, wenn der Ausdruck nicht in den Ergebnissen der Unterabfrage enthalten ist. Amazon Redshift unterstützt nur <> oder! = (ungleich) Bedingung für. ALL Andere Vergleichsbedingungen werden nicht unterstützt.

ISTTRUE//FALSEUNKNOWN

Werte ungleich Null entsprechenTRUE, 0 entspricht FALSE und Null entspricht. 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 Veranstaltungsorte mit mehr als 10000 Sitzplätzen aus der Tabelle zurück: 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)

In diesem Beispiel werden die Benutzer (USERID) aus der USERS Tabelle ausgewählt, die Rockmusik mögen:

select userid from users where likerock = 't' order by 1 limit 5; userid -------- 3 5 6 13 16 (5 rows)

In diesem Beispiel werden die Benutzer (USERID) aus der USERS Tabelle ausgewählt, in der nicht bekannt ist, ob sie Rockmusik mögen:

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 hat eine Spalte TIME _ VAL (TypTIME) 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 hat eine Spalte TIMETZ _ VAL (TypTIMETZ) 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 sind3:00:00 UTC. Der Vergleich erfolgt nach der Konvertierung des Werts inUTC.

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