MySQL中的Case Expression和Case Statement有什么区别?什么时候可以使用它们,使用其中一个有什么好处?
案例语句语法:
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
这些看起来几乎相同,但案例陈述的初始描述是The CASE statement for stored programs implements a complex conditional construct.
那么在存储程序中使用而在普通查询中不可用的显着区别是什么?我在我正在玩的一个查询上尝试了这个,但它失败了 - sqlfiddle。如果是这种情况,为什么不在存储程序中使用 Case Expression 呢?
是否有任何其他语法差异需要注意,因为它们似乎相同?