oracle查询语句中case when的使用

时间:2023-01-07 00:04:21

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