Wyrażenie przypadku a opis przypadku

Jaka jest różnica między aWyrażenie przypadku i aDeklaracja przypadku w MySQL? Kiedy można ich użyć i jakie są korzyści z używania jednego nad drugim?

Składnia deklaracji przypadku:

CASE
  WHEN search_condition THEN statement_list
  [WHEN search_condition THEN statement_list] ...
  [ELSE statement_list]
END CASE

Składnia wyrażenia przypadku:

CASE 
  WHEN [condition] THEN result 
  [WHEN [condition] THEN result ...] 
  [ELSE result] 
END

Wyglądają one niemal identycznie, ale początkowy opis instrukcji jest takiThe CASE statement for stored programs implements a complex conditional construct.

Czy więc znacząca różnica jest używana w programach przechowywanych i nie nadaje się do użycia w normalnych zapytaniach? Wypróbowałem to w kwerendzie, z którą grałem i zawiodło -sqlfiddle. Jeśli jednak tak jest, dlaczego nie użyć wyrażenia Case w zapisanym programie?

Czy są jakieś inne różnice składniowe, o których należy pamiętać, ponieważ wydają się być identyczne?

questionAnswers(1)

yourAnswerToTheQuestion