zoukankan      html  css  js  c++  java
  • oracle函数 end

    【功能】当:<表达式>=<表达式条件值1……n> 时,返回对应 <满足条件时返回值1……n>

    当<表达式条件值1……n>不为条件表达式时,与函数decode()相同,

    decode(<表达式>,<表达式条件值1>,<满足条件时返回值1>,<表达式条件值2>,<满足条件时返回值2> ……,<不满足上述条件时返回值>)

     

    【参数】

    <表达式> 默认为true (逻辑型)

    <表达式条件值1……n> 类型要与<表达式>类型一致,

    若<表达式>为字符型,则<表达式条件值1……n>也要为字符型

     

    【注意点】

    1、以CASE开头,以END结尾

    2、分支中WHEN 后跟条件,THEN为显示结果

    3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加

    4、END 后跟别名

    5、只返回第一个符合条件的值,剩下的when部分将会被自动忽略,得注意条件先后顺序

     

    【示例】

    建立环境:

    create table xqb

    (xqn number(1,0));

    insert into xqb xqn values(1);

    insert into xqb xqn values(2);

    insert into xqb xqn values(3);

    insert into xqb xqn values(4);

    insert into xqb xqn values(5);

    insert into xqb xqn values(6);

    insert into xqb xqn values(7);

    commit;

     

    查询结果:

    SELECT xqn,

           CASE

              WHEN xqn = 1  THEN '星期一'

              WHEN xqn = 2  THEN '星期二'

              WHEN xqn = 3  THEN '星期三'

             else '星期三以后'

           END 星期

    FROM xqb

     

    另类写法

    SELECT xqn,

           CASE xqn

              WHEN 1  THEN '星期一'

              WHEN 2  THEN '星期二'

              WHEN 3  THEN '星期三'

             else '星期三以后'

           END 星期

    FROM xqb

     

    decode正确表达:

    SELECT xqn,

    decode(xqn,1,'星期一',2,'星期二',3,'星期三','星期三以后') 星期

    FROM xqb

     

    decode错误表达:

    SELECT xqn,

    decode(TRUE,xqn=1,'星期一',xqn=2,'星期二',xqn=3,'星期三','星期三以后') 星期

    FROM xqb

     

    组合条件表达:

    SELECT xqn,

           CASE

              WHEN xqn <= 1  THEN '星期一'

              WHEN xqn <= 2  THEN '星期二'   --条件同:not(xqn<=1) and xqn<=2

              WHEN xqn <= 3  THEN '星期三'   --条件同:not(xqn<=1 and xqn<=2) and xqn<=3

             else '星期三以后'

           END 星期

    FROM xqb

  • 相关阅读:
    SQL单表查询
    SQL基础
    python生成器yield和send
    python模块
    python异常
    python单例设计模式
    python类方法、类属性和静态方法
    python继承
    react native window下的环境搭建和调试方案
    打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11120338.html
Copyright © 2011-2022 走看看