case when语句语法如下:
case when 表达式 then valueA else valueB end;
具体使用如下:
select (case when a.column1 >=1 then '成功' else '失败' end) as Success_flag
from tableA a
如果a.column1的值大于等于1,那么Success_flag的值将是‘成功’,否则‘失败’。
case when和decode函数用法有一些相似,只是decode是枚举函数,而case when则更加灵活,同时case when相当于一个特殊的只有两个枚举值的函数。
case when大多时间用于比较两个值的大小,在比较值的时候又比least(取较小值)和greatest(取较大值)灵活。
如:
select
least(1,2),
greatest(3,4) from dual;
得到查询结果: 1 4