zoukankan      html  css  js  c++  java
  • decode与case when 函数

    百度百科:
    DECODE函数,是ORACLE公司的SQL软件ORACLE PL/SQL所提供的特有函数计算方式,以其简洁的运算方式,可控的数据模型和灵活的格式转换而闻名。
    DECODE 中的if-then-else逻辑
    在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:
    DECODE(expr, if1, then1, if2,then2, if3,then3, . . . else )
    expr表示一个表达式,可以是一个字段也可以是一个结果。当每个expr值被测试,如果expr的值为if1,Decode 函数的结果是then1;如果expr等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。如果expr结果不等于给出的任何配对时,Decode 结果就返回else 。
    需要注意的是,这里的if、then及else 都可以是函数或计算表达式。 
     除此之外还有case...when...else...end的条件表达式。这二者是相同的,都是实现相同的功能,只是语法不同而已。
    格式为:
      case 表达式
        when 表达式1 then 值1
        when 表达式2 then 值2
        when 表达式3 then 值3
        else 默认值
      end
     

    SQL> select ename,decode(ename,'SMITH','史密斯','SCOTT','创始人','DAB管理员') from emp;

    ENAME DECODE(ENAME,'SMITH','史密斯','SCOTT','创始人','DAB管理员')
    ---------- --------------------------------------------------
    SMITH 史密斯
    ALLEN DAB管理员
    WARD DAB管理员
    JONES DAB管理员
    MARTIN DAB管理员
    BLAKE DAB管理员
    CLARK DAB管理员
    SCOTT 创始人
    KING DAB管理员
    TURNER DAB管理员
    ADAMS DAB管理员
    JAMES DAB管理员
    FORD DAB管理员
    MILLER DAB管理员

  • 相关阅读:
    module.exports 和 exports的区别
    nodejs概述和理解
    sass的继承,混合宏,占位符的用法总结
    项目发布方式
    扩展运算符和解构赋值的理解
    C3----几个常用的加载图标制作
    gulp和yarn打包工具二分钟包会教程(高阶)
    Java接口
    Tomcat8 连接池
    DAMA
  • 原文地址:https://www.cnblogs.com/jasonboren/p/10900862.html
Copyright © 2011-2022 走看看