【发布时间】:2012-09-08 08:19:49
【问题描述】:
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
这些看起来几乎相同,但 Case Statements 的初始描述是 The CASE statement for stored programs implements a complex conditional construct.
那么在存储程序中使用而在普通查询中不可用的显着区别是什么?我在一个我正在玩的查询上尝试了这个,但它失败了 - sqlfiddle。如果是这种情况,为什么不在存储程序中使用 Case Expression?
是否还有其他需要注意的语法差异,因为它们似乎相同?
【问题讨论】: