6

PHP のような言語には、次のような単一の case ステートメントで複数の検証をサポートする switch case コントロール構造があることを知っています。

Switch $x {
  case 1,2,3: 
      $a = 0;
       break;
  case 5,6: 
       $a = 1;
       break;
}

同様に、これはMYSQLで行うことができますか? 以下で試しましたが、実際には機能しませんでした:(

CASE vc_shape
   WHEN ('02' OR '51') THEN SET dc_square_1 = dc_square_1 + dc_row_total;
   WHEN ('06' OR  '30' OR 83) THEN SET dc_square_2 = dc_square_2 + dc_row_total; 
   .....
   .....
  ELSE
      BEGIN
      END;
END CASE; 

どうすればこれを達成できますか?

4

1 に答える 1

12

CASEステートメントには他の形式を使用します。

CASE 
   WHEN vc_shape IN ('02', '51') THEN SET dc_square_1 = dc_square_1 + dc_row_total;
   WHEN vc_shape IN ('06', '30', '83') THEN SET dc_square_2 = dc_square_2 + dc_row_total; 
   .....
   .....
  ELSE
      BEGIN
      END;
END CASE; 
于 2012-09-21T02:59:25.353 に答える