第一种:简单Case函数
case列名
when 条件值1 then 选择项1
when 条件值2 then 选项2.......
else 默认值 end
第二种:Cas360问答e搜索函数
case
when 列名=条件值1 then 选择项1
when 列名=条件值2 then 选项2.......
else 默认值end
比较:两种格式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式律陈并笔友。
还有一个问题,Case函数只返回说客厂第一个符合条件的值,剩下的Case部分将会被自动忽略。如下面这个例子:
CASEcol
WHENcol_1IN('a',终输关包府正'b')THEN'第一类'
WHENcol_1IN('a') THEN'第二类'
ELSE精站价坚观掌很牛项视福'其他'END
这个语句中,满足条件a永远不会返弱话设因回第二类,因为按顺序发现a在第一类的时候查询就已经结束会将群执样只易了。所以case无法用于一个东策临讨西在一个分类里有不同的属性亚策武围映台行的条件。
casewhen好处很明显就是非常易于看懂,相比实现同样条件用复杂的自连接查询,在逻辑上很容易看懂(自连接查询在不同的情况下可能会有BUG)。