ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle的case和decode()函数的两个问题

Oracle的case和decode()函数的两个问题

原创 Linux操作系统 作者:IT168_2010 时间:2010-11-18 13:39:22 0 删除 编辑
--9. 使用decode函数,按照下面的条件:
--      job                  grade
--      PRESIDENT            A
--      MANAGER             B
--      ANALYST              C
--      SALESMAN            D
--      CLERK                E
--      产生类似下面形式的结果
--      ENAME Job Grade
--      SMITH CLERK E
select ename, job, grade from emp, salgrade;
select ename ENAME, job "Job", decode(job, 'PRESIDENT', 'A',
                                         'MANAGER','B',
                                         'ANALYST', 'C', 
                                         'SALESMAN', 'D',
                                          'CLERK', 'E',
                                     '')
                                     as "Grade"
 from emp,salgrade;
 select grade from salgrade;
 --10. 将第9题的查询用case函数重新实现。
 select ename "ENAME", job "Job",
        case job when 'PRESIDENT' then 'A'
                 when 'MANAGER' then 'B'
                 when 'ANALYST' then 'C' 
                 when 'SALESMAN' then 'D'
                 when 'CLERK' then 'E'
        else ''
        end "Grade"
 from emp;
 
 --注:case和decode()都只是”返回一个数据(即:根据when的判断,返回then中的数据),并非更新了表中的数据"
 --注:begin不能出现在select子句中,注意字符串的大小写一致,红色的""代表默认值对于decode(),那是必须滴。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24747794/viewspace-678422/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2010-10-21

  • 博文量
    1
  • 访问量
    1400