В чем разница между Case Expression и Case Statement в MySQL? Когда они могут использоваться и каковы преимущества использования одного над другим?
Синтаксис случая:
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. Если это так, почему бы не просто использовать выражение Expression в сохраненной программе?
Есть ли другие синтаксические различия, о которых нужно знать, поскольку они кажутся идентичными?