![]() |
|
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 運算式 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 運算式 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' 則合法。 |
2018年8月 | Copyright © 2005, 2018, Oracle 及/或其關係機構。版權所有. Legal Notices. |