decode函数能够实现逻辑的if……else选择判断,但是只能进行等值判断,就像switch……case。

基本语法格式如下:DECODE(col/expression , search1 , result1

[ , search2 , result2 ……]

[ , default] )

使用例子如:

SQL> select decode(empno,7839,'国王',7698,'大臣','公民') king from emp;

KING

----

公民

公民

公民

公民

公民

大臣

公民

公民

国王

公民

公民

又如:

SQL> select decode(length('C20090102'),8,20090102 ,'20090102') resul  from dual;

RESUL

----------

20090102

但使用中要特别注意下面的问题:

--报错:无效数字

select decode(length('C20090102'),8,20090102 ,'c20090102')  from dual;

--没问题

select decode(length('C20090102'),8,20090102 ,'20090102')  from dual;

--没有问题

select decode(empno,7839,'国王','不是国王') from emp;

--报错:无效数字。因为‘不是国王’不能转换为数字(7839)类型

select decode(empno,7839,7839,'不是国王') from emp;

--没有问题。因为‘asdf’和‘2000’的数据类型一样。

select decode(length(empno),7839,'2000','asdf') from emp;

上面报错的原因是因为:result2……default,也就是后面的输出的数据类型一定要和result1的数据类

oracle中decode函数详细解释,oracle中的decode函数相关推荐

  1. oracle数据库改名步骤,oracle 11g2 数据库改名详细解释 oracle数据库改名详解 oracle database 改名详解 dbname...

    前面讲过修改sid名字,虽然已经修改过了实例名(sid),但是数据库的名称(dbname还是原来的名称orcl) 下面详细描述,更改数据库名字的.详细过程如下: 1.更改存档日志,默认安装完的orac ...

  2. 如何修改数据库名字oracle,Oracle修改数据库名字详细解释

    Oracle 修改数据库名字详细解释,一步一步教你改oracle数据库的数据库名. 这两天一朋友问如何更改数据库名,于是做个测试,简单 Oracle 修改数据库名字详细解释,一步一步教你改oracle ...

  3. 英语中的介词详细解释

    英语中的介词详细解释 xixi2015-01-05 10:02:58 转载于:https://www.cnblogs.com/lyhabctranslate/p/4202991.html

  4. c语言中signal函数详细解释说明

    c语言中signal函数详细解释说明     对于 信号处理函数 位于 <signal.h> 中. void ( *signal( int sig, void (* handler)( i ...

  5. 【printf】sprintf字符串转数值、数值转字符,拼接字符,函数详细解释 Printf 打印数值...

    1.数值转成字符: sprintf个函数,如: sprintf(s, "%d", 123); //产生"123" 2.字符串转成数值: while(*BandR ...

  6. Python numpy中的hsplit()和vsplit()函数详细解释

    在网上看到了一些关于vsplit()函数和hsplit()函数的解释,感觉不是很好理解, 同时有的也不是很全面.这里我想根据我的个人理解,用我自己的语言表达出这两个函数的解释. hsplit():按列 ...

  7. 修饰符在python函数中的用法详细解释

    python修饰符是实现一个函数嵌套的功能,比较以下两个函数 # -*- coding:utf-8 -*- def a(fn):print 'a'def d(st):print "----- ...

  8. mysql中explain的详细解释

    mysql执行计划中的类型解释老是忘记,抄在这里帮助记忆吧: EXPLAIN为用于SELECT语句中的每个表返回一行信息.表以它们在处理查询过程中将被MySQL读入的顺序被列出.MySQL用一遍扫描多 ...

  9. oracle连续周数,详细讲解Oracle数据库的“周数计算”

    详细讲解Oracle数据库的"周数计算"以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! --日期计算 ...

最新文章

  1. STM32按键控制led四种方法
  2. Android 设备管理API概览(Device Administration API)
  3. linux u 驱动程序,在uClinux中增加自己的设备驱动程序
  4. 偏移shaderuv_Unity Shader 之 uv动画
  5. HDU 1217 Arbitrage (Floyd + SPFA判环)
  6. 超级计算机清华,从清华到华科 名校为何主办超级计算机大赛?
  7. dynamic的使用
  8. SpringBoot2线程池的创建以及执行异步任务
  9. 转:一篇很全面的freemarker教程
  10. 软件质量保证SQA、软件测试ST
  11. NFC芯片SI512兼容替换PN512读卡写卡FeliCa
  12. Python 高阶函数,匿名函数 思维导图
  13. ubuntu20.04 LTS安装谷歌拼音输入法
  14. LED透明屏为什么能透明?实现原理
  15. 有人还原出了历史上的皇帝,朱元璋居然还挺帅?
  16. java源码转换e4a_E4A核心代码生成类库工具
  17. Java百宝箱——实现ip地址、手机号、身份证号归属地查询
  18. Jetpack Paging3 基本使用
  19. 我在北京住隔断被踹墙拆房子的经历
  20. linux高分屏输入法缩放,Kubuntu 高分屏缩放

热门文章

  1. mysql索引优化原则:覆盖索引、最左前缀原则、索引下推
  2. 关于Nginx反向代理DDNS的DNS缓存问题
  3. 孩子快要上小学一年级了,老公就催我去工作,怎么办?
  4. 2006年第一学期小小班个人计划
  5. javascriptmvc-steal
  6. web项目性能优化(整理)
  7. html 织梦,HTML5新手入门教程
  8. Mathpix---截图识别LaTeX公式
  9. 网站降权排名下降的原因及解决办法
  10. OpenGL for Windows NT及其程序设计