CASE語法介紹

何謂CASE語法
  • CASE語法等同於在SQL語法加上if子句,寫入你想要的判斷轉換資料數值,功能跟DECODE一樣,在閱讀上,CASE語法可讀性較高,建議使用CASE語法
CASE格式
CASE [expr]
     WHEN  comp_expr  THEN  return_expr
     [WHEN comp_expr THEN return_expr]
     [ELSE   else_expr]
     END; 
 expr:表格欄位
 comp_expr:表格欄位條件判斷
 return_expr:傳回值
 else_expr:與表格欄位條件判斷不符合的傳回值
[]:代表裡面的語句可有可無,至少要一個WHEN comp_expr THEN return_expr語句
  • 語法示範(第一種用法)
select case salary when salary>1000 then 500
                             when salary>2000 then 600
                                       else 400 end;
from emp;
說明:在emp表格裡如果salary欄位的薪水大於1000就為500,如果薪水大於2000就為600,如果都不是就為400 
  • 語法示範(第二種用法)
select case when salary>1000 then 500
                            when  salary>2000 then  600
                  else  400  end;
from emp;
說明:在emp表格裡如果salary欄位的薪水大於1000就為500,如果薪水大於2000就為600,如果都不是就為400