问题遇到的现象和发生背景
最近工作遇到一个问题,在MySQL中,写纯SQL的时候用到了用户变量@var,也涉及了多条件选择,我这里用了case函数语法
语法1.
case 变量 或 表达式 或 字段
when 常量1 then 值1
when 常量2 then 值2
...
【else 值n】
end
语法2.
/*
case
when 条件1 then 值1 (如果是语句,则需要加分号; 后期会用到case语句)
when 条件2 then 值2
...
【else 值n】
end
*/
发现:每个条件when之后直接跟结果值,
没有像Java中if-else if-else选择条件语法大括号中的语句块
if (xxxboolean) {
xxxstatement1;
xxxstatement2;
xxxstatement3;
....
xxxstatementn;
}
这使得我要将赋值语句,去内嵌写在条件中和结果值中,这使得可读性非常差
并且这样下来,最多也只有两个内嵌的赋值语句,如果超过两个,还处理不了
我想要达到的结果
防范于未然,和提升MySQL代码的可操作性,MySQL中有没有支持选择流程控制的语句块语法呢?(就像Java选择流程语法中if和else if和else后的跟的大括号一样)