• 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

  • 相关阅读:
    CControlLayer
    CBiontCache
    CHero
    CWidgetMgr---cpp
    CWidgetMgr---H
    CXAnimation类
    CXAnimation.h动画类
    CXCommon.h工具类
    【leetcode】441. Arranging Coins
    【linux基础】关于ARM板子使用O3编译选项优化
  • 原文地址:https://www.cnblogs.com/fanweisheng/p/11120338.html
Copyright © 2020-2023  润新知