zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    CSUFT 1002 Robot Navigation
    CSUFT 1003 All Your Base
    Uva 1599 最佳路径
    Uva 10129 单词
    欧拉回路
    Uva 10305 给任务排序
    uva 816 Abbott的复仇
    Uva 1103 古代象形文字
    Uva 10118 免费糖果
    Uva 725 除法
  • 原文地址:https://www.cnblogs.com/liuwt365/p/4181232.html
Copyright © 2011-2022 走看看