1. 程式人生 > >Oracle CASE WHEN 用法

Oracle CASE WHEN 用法

case when 語法 

select t.* ,
case (selectcolumn)
when expression1 then result1 
when expression2 then result2
...
when expressionN then resultN
else result
end columnname    //如需返回新列,則‘newcolumnname’;返回查詢表原有列,則直接寫列名
from tablename t

case when 用例

  1. 針對查詢表某一列判斷

    //case when 返回新列
    select stu.*, 
    case stu.sex
    when '0' then '男' 
    when '1' then '女' 
    else '未填寫性別'
    end 'studentsex'
    from student stu;
    
    //返回查詢表原有列
    select stu.no, stu.name, 
    case 
    when stu.sex = 0 then '男' 
    when stu.sex = 1 then '女'
    else '未填寫性別'
    end sex
    from student stu
  2. 對查詢表 多列進行判斷

    select stu.no, stu.username, stu.sex, 
    case 
    when stu.resume is null then '簡歷為空'
    when stu.classes is null then '班級資訊不完善'
    else '資訊基本完善'
    end 'userresult'
    from student stu