本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
比較條件
比較條件表示兩個值之間的邏輯關係。所有比較條件都是具有 Boolean 傳回類型的二元運算子。AWS Clean Rooms支援下表所述的比較運算子。
運算子 | 語法 | 描述 |
---|---|---|
< | a < b
|
價值a 小於值b 。 |
> | a > b
|
價值a 大於值b 。 |
<= | a <= b
|
價值a 小於或等於值b 。 |
>= | a >= b
|
價值a 大於或等於值b 。 |
= | a = b
|
價值a 等於值b 。 |
<> 或 != | a <> b or a != b
|
價值a 不等於值b 。 |
a = TRUE |
a IS TRUE |
價值a 是布爾值TRUE。 |
使用須知
- = ANY | SOME
-
任何和一些關鍵字是同義詞在條件。如果對於返回一個或多個值的子查詢返回的至少一個值的比較為 true,則 ANY 和 SOME 關鍵字返回 true。AWS Clean Rooms只支持任何和一些 =(等於)條件。不支援不等式條件。
注意
不支援 ALL 述詞。
- <> ALL
-
ALL 關鍵字等同 NOT IN (請參閱 IN 條件 條件),如果子查詢的結果中未包含表達式,將會傳回 true。AWS Clean Rooms 僅支援 ALL 的 <> 或 != (不等於)。不支援其他比較條件。
- IS TRUE/FALSE/UNKNOWN
-
非 0 的值等於 TRUE、0 等於 FALSE,而 null 等於 UNKNOWN。請參閱 布林值 (Boolean) 類型 資料類型。
範例
下列是比較條件的一些簡單範例:
a = 5 a < b min(x) >= 5 qtysold = any (select qtysold from sales where dateid = 1882
以下查詢會傳回 VENUE 表格中擁有 10,000 個以上座位的場地:
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)
此範例會從 USERS 資料表中,選取喜歡搖滾樂的使用者 (USERID):
select userid from users where likerock = 't' order by 1 limit 5; userid -------- 3 5 6 13 16 (5 rows)
此範例會從 USERS 資料表中,選取不確定是否喜歡搖滾樂的使用者 (USERID):
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
帶有 TIME 列的示例
下列範例表格 TIME_TEST 有一個資料行 TIME_VAL (類型為「時間」),其中插入了三個值。
select time_val from time_test; time_val --------------------- 20:00:00 00:00:00.5550 00:58:00
下列範例會從每個 timetz_val 擷取小時數。
select time_val from time_test where time_val < '3:00'; time_val --------------- 00:00:00.5550 00:58:00
下列範例會比較兩個時間常值。
select time '18:25:33.123456' = time '18:25:33.123456'; ?column? ---------- t
具有時間茲資料欄的範例
下列範例表格 TIMTZ_TEST 有一個資料行時間 TZ_VAL (類型為 TIMTZ),其中插入了三個值。
select timetz_val from timetz_test; timetz_val ------------------ 04:00:00+00 00:00:00.5550+00 05:58:00+00
下面的例子只選擇 TIMETZ 值小於3:00:00 UTC
。將值轉換為 UTC 後進行比較。
select timetz_val from timetz_test where timetz_val < '3:00:00 UTC'; timetz_val --------------- 00:00:00.5550+00
下列範例會比較兩個 TIMTZ 文字。比較時會忽略時區。
select time '18:25:33.123456 PST' < time '19:25:33.123456 EST'; ?column? ---------- t