Выражение регистра против оператора регистра
В чем разница междуВыражение регистра иЗаявление о ситуации в MySQL? Когда их можно использовать и каковы преимущества использования одного над другим?
Синтаксис 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 Casements состоит в том, чтоThe CASE statement for stored programs implements a complex conditional construct.
Так есть ли существенная разница в том, что один используется в хранимых программах и не может использоваться в обычных запросах? Я попробовал это на запросе, с которым я играл, и это не удалось -sqlfiddle, Если это так, то почему бы просто не использовать Case Case Expression в хранимой программе?
Есть ли какие-либо другие синтаксические различия, о которых следует знать, поскольку они кажутся идентичными?