Oracle中条件表达式(if-else if-else)有两种表达方法:

1.–CASE 表达式:SQL99的语法,类似Basic,比较繁琐

2.–DECODE 函数:Oracle自己的语法,类似Java,比较简单

CASE的用法:

例如:oracle中 emp员工表:


SQL> select ename,job,sal 涨前,2         case job when 'PRESIDENT' then sal+10003                  when 'MANAGER' then sal+8004                  else sal+4005          end 涨后6  from emp;

结果展示:

ENAME      JOB             涨前       涨后
---------- --------- ---------- ----------
SMITH      CLERK            800       1200
ALLEN      SALESMAN        1600       2000
WARD       SALESMAN        1250       1650
JONES      MANAGER         2975       3775
MARTIN     SALESMAN        1250       1650
BLAKE      MANAGER         2850       3650
CLARK      MANAGER         2450       3250
SCOTT      ANALYST         3000       3400
KING       PRESIDENT       5000       6000
TURNER     SALESMAN        1500       1900
ADAMS      CLERK           1100       1500                                                                                                                                                              ENAME      JOB             涨前       涨后
---------- --------- ---------- ----------
JAMES      CLERK            950       1350
FORD       ANALYST         3000       3400
MILLER     CLERK           1300       1700                                                                                                                                                              已选择 14 行。

DECODE用法:

例如:依然使用oracle中表格的数据:

SQL> select ename,job,sal 涨前,2         decode(job,'PRESIDENT',sal+1000,3                    'MANAGER',sal+800,4                              sal+400) 涨后5  from emp;

结果展示:

ENAME      JOB             涨前       涨后
---------- --------- ---------- ----------
SMITH      CLERK            800       1200
ALLEN      SALESMAN        1600       2000
WARD       SALESMAN        1250       1650
JONES      MANAGER         2975       3775
MARTIN     SALESMAN        1250       1650
BLAKE      MANAGER         2850       3650
CLARK      MANAGER         2450       3250
SCOTT      ANALYST         3000       3400
KING       PRESIDENT       5000       6000
TURNER     SALESMAN        1500       1900
ADAMS      CLERK           1100       1500                                                                                                                                                              ENAME      JOB             涨前       涨后
---------- --------- ---------- ----------
JAMES      CLERK            950       1350
FORD       ANALYST         3000       3400
MILLER     CLERK           1300       1700                                                                                                                                                              已选择 14 行。

Oracle中条件表达式用法相关推荐

  1. oracle数据库insert into,oracle中insert into用法 oracle中insert如何带条件添加数据?

    oracle insert into 脚本怎么写 INSE INTO BOOK(bookid,name,price) VALUES('100123','oracle ',54); 或者 INSE IN ...

  2. Oracle中group by用法

    Oracle中group by用法 在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,使用聚组函数返回的是每一个组的汇总 ...

  3. oracle中类似indexof用法_instr函数

    oracle中类似indexof用法_instr函数 [sql] 在oracle中没有indexof()函数 但是提供了一个 instr() 方法 具体用法: select instr('保定市南市区 ...

  4. oracle 的wecate函数,1.Oracle中decode()函数用法

    1.Oracle中decode函数用法 含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻 ...

  5. oracle中col 的用法,Oracle中的SUM用法讲解,

    Oracle中的SUM用法讲解, Oracle中的SUM条件查询 1.按照区域编码分组查询区域编码.IPTV_NBR不为空的数量.ACC_NBR不为空的数量.所有用户数量 SELECT AREA_CO ...

  6. oracle多表groupby,Oracle中group by用法

    Oracle中group by用法 在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么包含聚组函数 简单用法 select max(s ...

  7. oracle+decode函数用法,oracle中decode函数用法

    oracle中decode函数用法以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! DECODE函数相当于一条件语句(IF ...

  8. oracle union详解,oracle union用法 oracle中union的用法

    oracle中union的用法 只知道是用来左联接的,还有类似union all,谁有这个例子,要解释详细一点的一生中要有两次冲动,一次奋不顾身的爱情,一次为说走就走的旅行. UNION 指令的目的是 ...

  9. mybatis中条件表达式if的test为字符串时值比较

    mybatis中条件表达式字符串用''单引号不能直接比较,需要加toString() <if test="param != null and param != 'hello'.toSt ...

最新文章

  1. 用了这么多年的 Java 泛型,你对它到底有多了解?|原创
  2. Mac OS X Leopard 10.5.5 安裝手记 (Dell D830)
  3. 《走遍中国》珍藏版(十四)
  4. T-SQL备忘(6):常用内置函数
  5. Windows+Chrome OS双系统安装方法
  6. 大数据有哪些基本特征
  7. 《Arduino开发实战指南:机器人卷》一2.2 模拟I/O口的操作函数
  8. eclipse快速导包快捷键_【IntelliJ IDEA mac新手入门】IDEA如何快速搭建Java开发环境...
  9. java加水印 盖章_如何通过Java加水印的方式实现一键添加校徽外圈
  10. elementUI + echar 实现饼图效果
  11. 《Nodejs开发加密货币》之十六:利益,魔鬼与天使的共同目标
  12. 条件期望,重期望,相关知识点
  13. 报错——xxx is not defined
  14. 就 计算机 而言,为什么大多数情况下非科班生 比不上 科班生
  15. 见面会 | 创新工场执行董事王嘉平:高性能可伸缩性区块链系统揭秘!
  16. I2C Clock Stretch
  17. 2019第八届中国财经峰会在京闭幕
  18. 使用屏幕录制专家--录制视频技巧
  19. 数图互通高校房产管理——房屋模拟分配建设
  20. 中医五行学说详细资料

热门文章

  1. 最新社区版idea插件“intellij-spring-assistant”
  2. 尝试设计出“网易新闻模块”(或者其他感兴趣项目)的数据库表结构
  3. openstack实现私有云的搭建
  4. PAT题集2019.5.23排名变动
  5. Pr 多机位序列的流程
  6. Python计算机视觉编程 第一章——基本的图像操作和处理
  7. 蚂蚁韵保公司注销 蚂蚁金服旗下仍有保险中介牌照
  8. 3DUnity编程与设计_HW6
  9. 使用 WebSockets 的 9 个应用场景
  10. 频谱分析仪的来龙去脉