Condition de comparaison - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Condition de comparaison

Les conditions de comparaison établissent des relations logiques entre deux valeurs. Toutes les conditions de comparaison sont des opérateurs binaires avec un type de retour booléen. Amazon Redshift prend en charge les opérateurs de comparaison décrits dans le tableau suivant :

Opérateur Syntaxe Description
< a < b La valeur a est inférieure à la valeur b.
> a > b La valeur a est supérieure à la valeur b.
<= a <= b La valeur a est inférieure ou égale à la valeur b.
>= a >= b La valeur a est supérieure ou égale à la valeur b.
= a = b La valeur a est égale à la valeur b.
<> ou != a <> b or a != b La valeur a n’est pas égale à la valeur b.
ANY | SOME a = ANY(subquery) La valeur a est égale à une valeur retournée par la sous-requête.
ALL a <> ALL or != ALL (subquery)) La valeur a n’est pas égale à une valeur retournée par la sous-requête.
IS TRUE | FALSE | UNKNOWN a IS TRUE La valeur a la valeur booléenne TRUE.

Notes d’utilisation

= ANY | SOME

Les mots-clés ANY et SOME sont synonymes de la condition IN, et renvoient true (vrai) si la comparaison est vraie pour au moins une valeur renvoyée par une sous-requête qui renvoie une ou plusieurs valeurs. Amazon Redshift prend en charge uniquement la condition = (égal) pour ANY et SOME. Les conditions d’inégalité ne sont pas prises en charge.

Note

Le prédicat ALL n’est pas pris en charge.

<> ALL

Le mot-clé ALL est synonyme de NOT IN (voir condition Condition IN) et renvoie true (vrai) si l’expression n’est pas incluse dans les résultats de la sous-requête. Amazon Redshift prend en charge uniquement la condition <> ou != (non égal) pour ALL. Les autres conditions de comparaison ne sont pas prises en charge.

IS TRUE/FALSE/UNKNOWN

Les valeurs différentes de zéro correspondent à TRUE, 0 correspond à FALSE et null équivaut à UNKNOWN. Consultez le type de données Type Boolean.

Exemples

Voici quelques exemples simples de conditions de comparaison :

a = 5 a < b min(x) >= 5 qtysold = any (select qtysold from sales where dateid = 1882

La requête suivante retourne les sites de plus de 10 000 places à partir de la table 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)

Cet exemple sélectionne les utilisateurs (USERID) de la table USERS qui aiment la musique rock :

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

Cet exemple sélectionne les utilisateurs (USERID) de la table USERS pour lesquels on ignore s’ils aiment la musique rock :

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

Exemples avec une colonne TIME

La table d'exemple TIME_TEST suivante comporte une colonne TIME_VAL (type TIME) dans laquelle trois valeurs ont été insérées.

select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00

L'exemple suivant extrait les heures de chaque timetz_val.

select time_val from time_test where time_val < '3:00'; time_val --------------- 00:00:00.5550 00:58:00

L’exemple suivant compare deux littéraux de type heure.

select time '18:25:33.123456' = time '18:25:33.123456'; ?column? ---------- t

Exemples avec une colonne TIMETZ

L'exemple de tableau TIMETZ_TEST suivant comporte une colonne TIMETZ_VAL (type TIMETZ) dans laquelle trois valeurs ont été insérées.

select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00

L’exemple suivant sélectionne uniquement les valeurs TIMETZ inférieures à 3:00:00 UTC. La comparaison est effectuée après la conversion de la valeur en UTC.

select timetz_val from timetz_test where timetz_val < '3:00:00 UTC'; timetz_val --------------- 00:00:00.5550+00

L’exemple suivant compare deux littéraux TIMETZ. Le fuseau horaire n’est pas pris en compte pour la comparaison.

select time '18:25:33.123456 PST' < time '19:25:33.123456 EST'; ?column? ---------- t