Kondisi perbandingan - Amazon Redshift

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Kondisi perbandingan

Kondisi perbandingan menyatakan hubungan logis antara dua nilai. Semua kondisi perbandingan adalah operator biner dengan tipe pengembalian Boolean. Amazon Redshift mendukung operator perbandingan yang dijelaskan dalam tabel berikut:

Operator Sintaks Deskripsi
< a < b Nilai a kurang dari nilai b.
> a > b Nilai a lebih besar dari nilai b.
<= a <= b Nilai a kurang dari atau sama dengan nilai b.
>= a >= b Nilai a lebih besar dari atau sama dengan nilai b.
= a = b Nilai a sama dengan nilai b.
<> atau! = a <> b or a != b Nilai a tidak sama dengan nilai b.
ANY | SOME a = ANY(subquery) Nilai a sama dengan nilai apa pun yang dikembalikan oleh subquery.
ALL a <> ALL or != ALL (subquery)) Nilai a tidak sama dengan nilai apa pun yang dikembalikan oleh subquery.
ADALAH TRUE | FALSE | UNKNOWN a IS TRUE Nilai a adalah BooleanTRUE.

Catatan penggunaan

= ANY | SOME

SOMEKata kunci ANY dan kata kunci identik dengan kondisi IN, dan mengembalikan true jika perbandingan benar untuk setidaknya satu nilai yang dikembalikan oleh subquery yang mengembalikan satu atau lebih nilai. Amazon Redshift hanya mendukung kondisi = (sama) untuk dan. ANY SOME Kondisi ketidaksetaraan tidak didukung.

catatan

ALLPredikat tidak didukung.

<> ALL

ALLKata kunci ini identik dengan NOT IN (lihat Dalam kondisi kondisi) dan mengembalikan true jika ekspresi tidak termasuk dalam hasil subquery. Amazon Redshift hanya mendukung <> atau! = (tidak sama) kondisi untukALL. Kondisi perbandingan lainnya tidak didukung.

ADALAHTRUE/FALSE/UNKNOWN

Nilai bukan nol sama denganTRUE, 0 sama denganFALSE, dan nol sama dengan. UNKNOWN Lihat tipe Jenis Boolean datanya.

Contoh

Berikut adalah beberapa contoh sederhana dari kondisi perbandingan:

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

Kueri berikut mengembalikan tempat dengan lebih dari 10.000 kursi dari VENUE tabel:

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)

Contoh ini memilih users (USERID) dari USERS tabel yang menyukai musik rock:

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

Contoh ini memilih users (USERID) dari USERS tabel yang tidak diketahui apakah mereka menyukai musik 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

Contoh dengan TIME kolom

Contoh tabel berikut TIME _ TEST memiliki kolom TIME _ VAL (typeTIME) dengan tiga nilai disisipkan.

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

Contoh berikut mengekstrak jam dari setiap timetz_val.

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

Contoh berikut membandingkan dua literal waktu.

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

Contoh dengan TIMETZ kolom

Contoh tabel berikut TIMETZ _ TEST memiliki kolom TIMETZ _ VAL (typeTIMETZ) dengan tiga nilai disisipkan.

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

Contoh berikut hanya memilih TIMETZ nilai kurang dari3:00:00 UTC. Perbandingan dilakukan setelah mengonversi nilainya menjadiUTC.

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

Contoh berikut membandingkan dua TIMETZ literal. Zona waktu diabaikan untuk perbandingan.

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