l在 SQL 语句中使用IF-THEN-ELSE 逻辑
l
l使用两种方法:
•CASE 表达式:SQL99的语法,类似Basic,比较繁琐
•DECODE 函数:Oracle自己的语法,类似Java,比较简介
 SQL> select ename,job, sal, case job when 'PRESIDENT' then 1.1*sal
2 when 'MANAGER' then 1.2*sal
3 when 'CLERK' then 1.3*sal
4 else 1.4*sal
5 end 涨后薪水
6 from emp
7 ; ENAME JOB SAL 涨后薪水
---------- --------- --------- ----------
SMITH CLERK 800.00 1040
ALLEN SALESMAN 1600.00 2240
WARD SALESMAN 1250.00 1750
JONES MANAGER 2975.00 3570
MARTIN SALESMAN 1250.00 1750
BLAKE MANAGER 2850.00 3420
CLARK MANAGER 2450.00 2940
KING PRESIDENT 5000.00 5500
TURNER SALESMAN 1500.00 2100
JAMES CLERK 950.00 1235
FORD ANALYST 3000.00 4200
MILLER CLERK 1400.00 1820
jack_1234 2000.00 2800 13 rows selected SQL> select ename,job, sal,decode(job,'PRESIDENT',1.1*sal,
2 'MANAGER',1.2*sal,
3 'CLERK',1.3*sal,
4 1.4*sal)涨后薪水
5 from emp; ENAME JOB SAL 涨后薪水
---------- --------- --------- ----------
SMITH CLERK 800.00 1040
ALLEN SALESMAN 1600.00 2240
WARD SALESMAN 1250.00 1750
JONES MANAGER 2975.00 3570
MARTIN SALESMAN 1250.00 1750
BLAKE MANAGER 2850.00 3420
CLARK MANAGER 2450.00 2940
KING PRESIDENT 5000.00 5500
TURNER SALESMAN 1500.00 2100
JAMES CLERK 950.00 1235
FORD ANALYST 3000.00 4200
MILLER CLERK 1400.00 1820
jack_1234 2000.00 2800 13 rows selected

oracle sql语句中使用if逻辑的更多相关文章

  1. Oracle sql语句中不支持boolean类型(decode&case)

    [转自] http://blog.csdn.net/t0nsha/article/details/7828538 Oracle sql语句中不支持boolean类型(decode&case) ...

  2. 获取oracle sql语句中绑定变量值的方法

    在诊断 sql的性能问题时,我们有时候须要获取其绑定变量的实际值,然后将此实际值带入到sql语句其中,用原来的sql构成select语句(带where条件),实际的运行一下,看一下选择性怎样. 本文就 ...

  3. Oracle sql语句中(+)作用

    select * from operator_info o, group_info g  where o.group_id = g.group_id(+); 理解:    + 表示补充,即哪个表有加号 ...

  4. Oracle SQL Developer中SQL语句格式化快捷键

    Oracle SQL Developer中SQL语句格式化快捷键 格式化SQL语句:Ctrl+F7

  5. Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项)

    Oracle数据库中,在SQL语句中连接字符串的方法是哪个?(选择1项) A.cat B.concat C.join D.+ 解答:B

  6. Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数

    Oracle中,利用sql语句中的函数实现保留两位小数和四舍五入保留两位小数: select trunc(1.23856789,2) from dual round(m,n) 可以四舍五入 trunc ...

  7. Oracle sql语句执行顺序

    sql语法的分析是从右到左 一.sql语句的执行步骤: 1)词法分析,词法分析阶段是编译过程的第一个阶段.这个阶段的任务是从左到右一个字符一个字符地读入源程序,即对构成源程序的字符流进行扫描然后根据构 ...

  8. Oracle SQL语句执行步骤

    转自:http://www.cnblogs.com/quanweiru/archive/2012/11/09/2762345.html Oracle中SQL语句执行过程中,Oracle内部解析原理如下 ...

  9. Oracle sql语句执行顺序(转)

    from: http://blog.csdn.net/lailai186/article/details/12612263 sql语法的分析是从右到左 一.sql语句的执行步骤:1)语法分析,分析语句 ...

随机推荐

  1. ajax vs oauth

    http://www.cnblogs.com/rush/archive/2012/05/15/2502264.html https://www.ibm.com/developerworks/cn/xm ...

  2. java指纹识别+谷歌图片识别技术

    http://www.icodeguru.com/3/2451.html http://valseonline.org/thread-124-1-1.html

  3. Regex sumologic

    https://www.sumologic.com/2014/08/18/no-magic-regular-expressions/

  4. redis 扩展安装使用

    Redis的php客户端库非常之多, Redis推荐客户端链接是:http://redis.io/clients 推荐用phpredis,下载地址:https://github.com/nicolas ...

  5. Codec plugins ? multiline

    Codec plugins ? multiline multiline codec 会折叠多行消息,合并它们到一个事件 这个codec 原始的目的是允许 连接多行信息从文件到一个单独的事件. 比如, ...

  6. C#编译时出现“不安全代码只会在使用 /unsafe 编译的情况下出现”错误的解决

    原因是:在编译的代码里面有不安全类型unsafe方法或类!解决方法:将项目属性页中生成下的“允许不安全代码”复选框打上对勾即可,方法如下:项目属性对话框->生成->允许不安全代码块 选中即 ...

  7. Be Sociable, Share!

  8. 在EF中执行SQL语句

    你可能要问,我用EF不就为了避免写SQL吗?如果要写SQL我不如直接用ADO.NET得了.话虽然这么说没错,可有些时候使用EF操作数据还是有一些不方便,例如让你根据条件删除一组记录,如果按照正常的流程 ...

  9. C#中用PadLeft、PadRight 补足位数

    在 C# 中可以对字符串使用 PadLeft 和 PadRight 进行轻松地补位. PadLeft(int totalWidth, char paddingChar) //在字符串左边用 paddi ...

  10. redis: 6379端口下set值时出现 CLUSTERDOWN The cluster is down

    1.使用./redis-trib.rb check 192.168.242.134:6379检查出现图中的错误 2.在redis安装目录的bin下执行下列命令去cluster meet 另一个端口为7 ...