Oracle之case when 用法

表和數據:

create table fnd_user(
       user_sid number(10) primary key,
       user_username varchar(50),
       user_password varchar(50),
       user_phone number(15),
       user_work_number number(15)
);

在這裏插入圖片描述

1.簡單的用法和輸出結果:

select user_username,user_password,user_phone,
       case user_password 
         when 'jack1' then user_phone
         when 'jack2' then user_phone + 1
         when 'jack3' then user_phone + 2
         when '12344' then user_phone + 3
           else user_phone
             end "xxx" 
from fnd_user;

在這裏插入圖片描述

解析:

在這裏插入圖片描述

2.常用的用法和輸出結果:

select user_username,user_password,user_work_number,
      case when user_work_number = 1 then 10
           when user_work_number + 1 > 1 then 20
             else user_work_number 
               end "xxx"
from fnd_user;

在這裏插入圖片描述

解析:

在這裏插入圖片描述
PS:
經過嘗試,第一種方式的when之後的判斷條件是不可以進行很多操作的,比如計算操作的 + , - , * , / , = 之類的,但是第二種可以,所以一般情況下都是使用第二種方式去寫語句.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章