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

 

 

posted @ 2013-06-18 21:19  爱生活,爱编程  阅读(2058)  评论(0)    收藏  举报