| 列印 開啟 PDF 版的線上說明

#### Case 陳述式 Case 陳述式是建立條件運算式的建構元素，這些運算式可以為不同資料欄值產生不同的值。 ### ### Case (Switch) 這種格式的 Case 陳述式也稱為 CASE (Lookup) 格式。expression1 的值先進行檢查，再檢查 WHEN 運算式。如果 expression1 與任何 WHEN 運算式相符，就指派對應 THEN 運算式中的值。 如果 expression1 與多個 WHEN 子句中運算式相符，則僅指派該運算式之後的第一個相符運算式。 如果沒有任何 WHEN 運算式與其相符，則指派 ELSE 運算式中指定的值；如果未指定任何 ELSE 運算式，則指派 NULL 值。 請參閱 Case (If) 陳述式。 語法： CASE expression1 WHEN 運算式 THEN 運算式 {WHEN 運算式... THEN 運算式...} ELSE expression END 其中： CASE 開始 CASE 陳述式。後面必須跟隨著運算式及一個或多個 WHEN 和 THEN 陳述式、選擇性的 ELSE 陳述式，以及 END 關鍵字。 WHEN 指定要滿足的條件。 THEN 如果滿足對應的 WHEN 運算式條件，指定要指派的值。 ELSE 如果沒有滿足任何 WHEN 條件，指定要指派的值；如果省略，則取 ELSE NULL。 END 結束 CASE 陳述式。 範例 CASE Score-par WHEN -5 THEN 'Birdie on Par 6' WHEN -4 THEN 'Must be Tiger' WHEN -3 THEN 'Three under par' WHEN -2 THEN 'Two under par' WHEN -1 THEN 'Birdie' WHEN 0 THEN 'Par' WHEN 1 THEN 'Bogey' WHEN 2 THEN 'Double Bogey' ELSE 'Triple Bogey or Worse' END 在以上範例中，WHEN 陳述式必須反映嚴謹相等；如果 WHEN 條件為 WHEN < 0 THEN 'Under Par' 則非法，因為不允許比較運算子。 ### ### Case (If) 這種格式的 Case 陳述式會評估每個 WHEN 條件，如果條件滿足，就指派對應 THEN 運算式中的值。 如果沒有任何 WHEN 條件與其相符，則指派 ELSE 運算式中指定的預設值；如果未指定任何 ELSE 運算式，則指派 NULL 值。 請參閱 Case (Switch) 陳述式。 語法： CASE WHEN request_condition1 THEN expression1 {WHEN request_condition2 THEN expression2} {WHEN request_condition... THEN expression...} ELSE expression END 其中： CASE 開始 CASE 陳述式。後面必須跟隨著一個或多個 WHEN 和 THEN 陳述式、選擇性的 ELSE 陳述式，以及 END 關鍵字。 WHEN 指定要滿足的條件。 THEN 滿足對應的 WHEN 運算式條件時要指派的值。 ELSE 指定沒有滿足任何 WHEN 條件時的值；如果省略，則取 ELSE NULL。 END 結束 CASE 陳述式。 範例 CASE WHEN score-par < 0 THEN 'Under Par' WHEN score-par = 0 THEN 'Par' WHEN score-par = 1 THEN 'Bogie' WHEN score-par = 2 THEN 'Double Bogey' ELSE 'Triple Bogey or Worse' END 與 CASE 陳述式的 Switch 格式不同，If 格式中的 WHEN 陳述式允許比較運算子，如果 WHEN 條件為 WHEN < 0 THEN 'Under Par' 則合法。

2022年8月 | Copyright © 2005, 2022, Oracle 和 (或) 其關係企業。 Legal Notices.