MySQLのCase 式とCase ステートメントの違いは何ですか? それらはいつ使用できますか? また、一方を他方よりも使用する利点は何ですか?
Case ステートメントの構文:
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
ケース式の構文:
CASE
WHEN [condition] THEN result
[WHEN [condition] THEN result ...]
[ELSE result]
END
これらはほとんど同じように見えますが、Case ステートメントの最初の説明は次のとおりです。The CASE statement for stored programs implements a complex conditional construct.
ストアド プログラムで使用され、通常のクエリでは使用できないという大きな違いはありますか? 私が遊んでいたクエリでこれを試してみましたが、失敗しました - sqlfiddle。ただし、これが事実である場合、ストアド プログラムで Case Expression を使用しないのはなぜでしょうか?
同一のように見えるため、他に注意すべき構文上の違いはありますか?