Case expression vs case statement
Was ist der Unterschied zwischen aFallausdruck und einCase Statement in MySQL? Wann können sie verwendet werden, und welche Vorteile hat die Verwendung übereinander?
Case-Statement-Syntax:
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
Syntax für Groß- / Kleinschreibung:
CASE
WHEN [condition] THEN result
[WHEN [condition] THEN result ...]
[ELSE result]
END
Diese sehen fast identisch aus, aber die ursprüngliche Beschreibung für Case Statements lautet wie folgtThe CASE statement for stored programs implements a complex conditional construct.
Ist der signifikante Unterschied, den man in gespeicherten Programmen verwendet und in normalen Abfragen nicht verwendbar ist? Ich habe dies bei einer Abfrage ausprobiert, mit der ich gespielt habe, und es ist fehlgeschlagen.sqlfiddle. Wenn dies der Fall ist, warum nicht einfach den Fallausdruck in einem gespeicherten Programm verwenden?
Gibt es andere syntaktische Unterschiede, die zu beachten sind, da sie identisch zu sein scheinen?