oracle sql語句中使用if邏輯


l在 SQL 語句中使用IF-THEN-ELSE 邏輯
l
l使用兩種方法:
•CASE 表達式:SQL99的語法,類似Basic,比較繁瑣
•DECODE 函數:Oracle自己的語法,類似Java,比較簡介

 

 

 1 SQL> select ename,job, sal, case job when 'PRESIDENT' then 1.1*sal
 2   2                               when 'MANAGER' then 1.2*sal
 3   3                                when 'CLERK' then 1.3*sal
 4   4                                 else 1.4*sal
 5   5                                end 漲后薪水
 6   6  from emp
 7   7  ;
 8  
 9 ENAME      JOB             SAL       漲后薪水
10 ---------- --------- --------- ----------
11 SMITH      CLERK        800.00       1040
12 ALLEN      SALESMAN    1600.00       2240
13 WARD       SALESMAN    1250.00       1750
14 JONES      MANAGER     2975.00       3570
15 MARTIN     SALESMAN    1250.00       1750
16 BLAKE      MANAGER     2850.00       3420
17 CLARK      MANAGER     2450.00       2940
18 KING       PRESIDENT   5000.00       5500
19 TURNER     SALESMAN    1500.00       2100
20 JAMES      CLERK        950.00       1235
21 FORD       ANALYST     3000.00       4200
22 MILLER     CLERK       1400.00       1820
23 jack_1234              2000.00       2800
24  
25 13 rows selected
26 
27 SQL> select ename,job, sal,decode(job,'PRESIDENT',1.1*sal,
28   2                                   'MANAGER',1.2*sal,
29   3                                   'CLERK',1.3*sal,
30   4                                           1.4*sal)漲后薪水
31   5  from emp;
32  
33 ENAME      JOB             SAL       漲后薪水
34 ---------- --------- --------- ----------
35 SMITH      CLERK        800.00       1040
36 ALLEN      SALESMAN    1600.00       2240
37 WARD       SALESMAN    1250.00       1750
38 JONES      MANAGER     2975.00       3570
39 MARTIN     SALESMAN    1250.00       1750
40 BLAKE      MANAGER     2850.00       3420
41 CLARK      MANAGER     2450.00       2940
42 KING       PRESIDENT   5000.00       5500
43 TURNER     SALESMAN    1500.00       2100
44 JAMES      CLERK        950.00       1235
45 FORD       ANALYST     3000.00       4200
46 MILLER     CLERK       1400.00       1820
47 jack_1234              2000.00       2800
48  
49 13 rows selected

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM