在 SQL 編輯器 中輸入查詢或 創建計算時,將使用 Presto SQL 語法。若要根據是否滿足特定條件返回值,您可能會發現這些常用表達式很有用。
箱
若要計算條件清單並基於第一個匹配項或 true 條件返回值,請使用 CASE 運算式,例如啟用 if/else 邏輯。
CASE
有兩種格式:
- 在其簡單形式中,
CASE 計算特定表達式的清單並返回其值,例如:
表達式 當值 THEN 結果 [ 當 ... ] [ 否則結果 ] 結束
CASE
- 在其搜索形式中,
CASE 計算布爾值清單並返回第一個
WHEN 條件 THEN 結果 [ 當 ... ] [ 其他結果 ] 結束TRUE
條件的值,例如:
CASE
例如,以基於匹配表達式返回值(「一」或「二」)的簡單形式:
選擇表達式,大小寫表達式當 1 然後“一”時 2 然後“二”否則“多”結束
如果沒有條件為真,則 CASE 傳回 ELSE 子句的值(在本例中為“許多”),如果沒有
子句,則ELSE
返回 NULL。
注: 要根據單個條件是否為 true 傳回值, 請使用 IF
語句。
合併
若要返回清單中的第一個非空值,請使用 COALESCE 運算式作為 COALESCE
(值 1, 值 2, 值 3)。
如果
若要根據條件是真還是假返回值,請使用 IF 語句作為 IF
(條件、true_value、false_value)。
注: 如果條件為 false 且未指定false_value,則 IF
語句返回 NULL。
為空或不為空
若要測試值是空還是空,請使用
IS NULL
或IS NOT NULL
運算符:
- 若要測試空值,請使用
IS NULL。
- 若要測試非空值,請使用
IS NOT NULL。
例如,要測試沒有地址的客戶數據,請執行以下操作:
選擇位址為空的客戶Customer_Name
、Contact_Name位址
新土耳其里拉
若要在表達式由於數據損壞或無效而失敗時返回 NULL
, 請使用 TRY
運算式作為 TRY(運算式)。TRY
處理以下錯誤:
- 除以零
- 無效的
CAST
或函數參數 - 數值超出範圍
注意:要在表達式失敗時返回預設值而不是 NULL
,請將 TRY 與 COALESCE 運算式一起使用,作為 COALESCE(TRY
(表達式),default_value)。
COALESCE(TRY
(表達式),default_value)。