oracle中case when的用法 可以嵌套

简单Case函数 :

格式

case 列名
when 条件值1 then 选项1
when 条件值2 then 选项2.......
else 默认值 end

使用

select
 case  level
    when '1' then '1111'
    when '2' then '2222'
    when '3' then '333'
    else '9999' 
 end
from 等级表

 

Case搜索函数

格式

case
when 列名=条件值1 then 选项1
when 列名=条件值2 then 选项2.......
else 默认值 end

使用

update 等级表
  set wage =
     case
        when level = '1' then wage*1.1
        when level = '2' then wage*1.2
        when level = '3' then wage*1.3
        else wage*1.05
     end
where
   user=1

 

嵌套使用

select
 case  level
    when '1' then 
       case
         when wage=1 then '1111.1'
         when wage=2 then '1111.2'
         when wage=3 then '1111.3'
         else  '1111'
       end
    when '2' then '2222'
    when '3' then '3333'
    else '9999' 
 end
from 等级表

 

posted @ 2022-06-17 14:49  学net的胖子  阅读(6301)  评论(0)    收藏  举报