Oracle查询语句中Case when的使用


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

相关内容