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?