條件分支 CASE表示式和DECODE函式

2022-07-12 08:42:10 字數 1274 閱讀 6698

case表示式單條件(單列)來走分支

看下面的加薪語句

sql> select last_name, job_id, salary,

2         case job_id when 'it_prog'  then  1.10*salary

3                     when 'st_clerk' then  1.15*salary

4                     when 'sa_rep'   then  1.20*salary

5         else      salary end     "revised_salary"

6  from   employees;

1.case表示式

通過使用類似if-then-else語句的方法實現條件執行

case表示式多條件(條件有優先順序)來走分支

department_id = 10表示是核心部門

job_id in ('st_clerk','sa_rep')表示重要崗位

sysdate-hire_date >4745是老員工

看下面的加薪語句

sql> ed

已寫入 file afiedt.buf

1  select last_name, job_id, salary,

2         case when department_id = 10 then  1.3*salary

3                     when job_id in ('st_clerk','sa_rep') then  1.2*salary

4                     when sysdate-hire_date >4745  then  1.10*salary

5         else      salary end     "revised_salary"

6* from   employees

sql> /

2.decode函式

類似於switch……case

select last_name, job_id, salary,

decode(job_id, 'it_prog',  1.10*salary,

'st_clerk', 1.15*salary,

'sa_rep',   1.20*salary,

salary)

revised_salary

from   employees;

python條件表示式 多項分支,雙向分支

多項分支 if 條件表示式1 code1 code2 elif 條件表示式2 code3 code4 elif 條件表示式3 code5 code6 else code7 如果條件表示式1成立,直接執行if當中的 塊,如果不滿足 依次向下判斷,看是否條件表示式2成立,成立則執行對應 塊,反之,繼續向...

case表示式詳解

格式一 case 條件表示式 when 條件表示式結果1 then 語句段1 when 條件表示式結果2 then 語句段2 when 條件表示式結果n then 語句段n else 條件表示式結果 end 格式二 case when 條件表示式1 then 語句段1 when 條件表示式2 the...

case表示式和decode函式

1.用case表示式做等值判斷 格式 case 表示式 when 值1 then 返回值1 when 值2 then 返回值2 else 預設返回值 end 示例 查詢員工編號,姓名,部門編號,部門名稱 部門名稱 30 sale 20 etc 10 jxb 其他 icss select empno ...