Oracle Decode()函数和CASE语句都是我们经常用到的,那么它们的区别在哪里呢?下面就为您详细介绍Oracle Decode()函数和CASE语句的区别,供您参考。
首先,举2个简单的例子,简单对比一下这2者的区别。
1.CASE语句:
以下是代码片段:
  SELECT CASE SIGN(5 - 5)

  WHEN 1 THEN 'Is Positive'

  WHEN -1 THEN 'Is Negative'

  ELSE 'Is Zero' END

  FROM DUAL;

后台实现:
以下是代码片段:
  if (SIGN(5 – 5) = 1) {

  'Is Positive';

  } else if (SIGN(5 – 5) = 2 ) {

  'Is Negative';

  }else {

  ‘Is Zero’

  }

2. Decode函数:
以下是代码片段:
  SELECT DECODE(SIGN(5 – 5), 1,

  'Is Positive', -1, 'Is Negative', ‘Is Zero’)

  FROMDUAL

后台实现:
以下是代码片段:
  switch ( SIGN(5 – 5) )

  {

  case 1 : 'Is Positive'; break;

  case 2 : 'Is Negative'; break;

  default : ‘Is Zero’

  }

在上面的例子中,2者似乎都可以实现。但是,在碰到非凡的问题时Decode()要实现起来就相当复杂了。
例如:
以下是代码片段:
  SELECT CASE X-FIELD

  WHEN X-FIELD < 40 THEN ‘X-FIELD < 40’

  WHEN X-FIELD < 50 THEN ‘X-FIELD < 50’

  WHEN X-FIELD < 60 THEN ‘X-FIELD < 60’

  ELSE ‘UNBEKNOWN’END

  FROM DUAL

因此,个人认为,CASE语句在处理类似问题就显得非常灵活。当只是需要匹配少量数值时,用Decode更为简洁。

转载于:https://blog.51cto.com/xharvard/793811

Oracle Decode()函数和CASE语句的比较相关推荐

  1. Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数

    Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数 一.概述 1.本文系统的整理了,Oracle中常见的几个函数用法,都是涉及到条件判断分支类的 ...

  2. oracle decode函数什么意思,oracle decode函数的用法

    oracle decode函数,不管查询的结果是否满足'PRIMARY',参数中的select语句还是会执行的,通过查看执行计划就知道 set autotrace traceonly select d ...

  3. Oracle-Decode()函数和CASE语句的不同

    Oracle-Decode()函数和CASE语句的区别: 具体示例如下: 1.CASE语句: SELECT CASE SIGN(5 - 5) WHEN 1 THEN 'Is Positive' WHE ...

  4. 【转】Oracle DECODE函数的语法介绍

    Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解. Oracle DECODE函数 Oracle ...

  5. Oracle Decode函数详解

    Oracle DECODE函数功能很强,下面就为您详细介绍Oracle DECODE函数的用法,希望可以让您对Oracle DECODE函数有更多的了解. Oracle DECODE函数 Oracle ...

  6. oracle nvl函数3个参数,oracle中的函数介绍(一):nvl函数、decode函数、case when函数、sum函数...

    最近做项目接触到的oracle数据库比较多,经常用到里面的一些函数,以前的博客中也介绍过行转列和列转行,这次再简单给大家介绍几个: nvl() NVL(a,b)就是判断a是否是NULL,如果不是返回a ...

  7. oracle decode函数

    DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名. 函数介绍 DECODE函数是ORACLE ...

  8. oracle中创建函数行变列,oracle decode 函数实现行转列

    用decode函数,或者case when实现行转列 Oracle ----创建测试表create table student_score( name varchar2(20), subject va ...

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

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

最新文章

  1. Java的Web项目使用DWR简单配置说明
  2. ae抠像插件_AE抠像背景残留去除
  3. mysql预编译语句拼接查询_SQL语句预编译(查询)
  4. 自动选择SVG和VML的WEB页面
  5. 【优化分配】基于matlab遗传算法求解医疗资源分配优化问题【含Matlab源码 1419期】
  6. java推荐算法_Java编程实现基于用户的协同过滤推荐算法代码示例
  7. list tuple dirt set 的简单区分方法
  8. 分享咖啡基础知识——从咖啡小白到咖啡发烧友需要了解的那些事儿!
  9. 程序收到一段如下文本
  10. 清华大学计算机相关夏令营,清华大学计算机系举办2014年信息学夏令营
  11. 微信公众平台学习笔记
  12. Js函数加括号、不加括号
  13. DGUT新学期,新FLAG
  14. 电视盒子有哪些软件支持电视节目回看?
  15. 深圳大数据学习:泛型 --【千锋】
  16. Win 10 和 Linux 双系统,从硬盘删除Linux分区,Win 10引导修复
  17. 生信分析R语言助力作图----单基因批量相关性分析
  18. iOS和android游戏纹理优化和内存优化(cocos2d-x)
  19. ROS wiki安装及配置
  20. 新浪微博客户端开发开篇

热门文章

  1. 我的WCF之旅(10):如何在WCF进行Exception Handling
  2. 增强SEO的div+css命名规则
  3. 转载--数据库sql取整操作
  4. Q109:用PBRT渲染Blender导出的模型
  5. 总结《Ray Tracing from the Ground Up》
  6. RDD文件读取与保存
  7. 如何构建有效的大数据战略
  8. 《Python cookbook》笔记一
  9. 给属性赋值_赋值方法:虚拟变量 Dummy Coding
  10. 微软纸牌服务器慢,微软为何设计纸牌和扫雷?真是用心良苦