zoukankan      html  css  js  c++  java
  • oracle case when及decode的用法

    case ... when 语句
      1) CASE column_name WHEN value1 THEN resutl1,... [ ELSE result ] END
        select name ,

           case name when 'aaa' then '计算机部门'
                  when 'bbb' then '市场部门' ELSE '其他部门' END AS 部门
        from users;

        输出结果:
          姓名 部门
          ---------- ----------
          aaa 计算机部门
          bbb 市场部门
          ccc 其他部门

    2) CASE
      WHEN column_name=value1 THEN result1,...[ELSE result] END

      eg. 1
        select name ,

           case when name ='aaa' then '计算机部门'
              when name = 'bbb' then '市场部门' else '其他部门' END AS 部门

        from users;

        输出结果:
          姓名 部门
          ---------- ----------
          aaa 计算机部门
          bbb 市场部门
          ccc 其他部门

      eg 2.
        select salary,

           case when salary > 5000 then '工资高'
              when salary < 1000 then '工资低' end AS 工资水平
        from users;
        输出结果:

          SALARY 工资水
          ---------- ------
          800 工资低
          1800.5
          5000.5 工资高
          1000

    decode的作用和case的作用一样
    decode(column_name, value1,result1,....defaultvalue)

      eg.
        SQL> select name,decode(name,'aaa','计算机部门','bbb','市场部门','其他') as 部门 from users;

        输出结果:

          姓名 部门
          ---------- ----------
          aaa 计算机部门
          bbb 市场部门
          ccc 其他
          aaa 计算机部门

  • 相关阅读:
    Linux下一个patch补丁命令
    资本中国人物-金融
    深入浅出JMS(一)——JMS简要
    在JBuilder8在使用ANT
    mysql存储引擎
    Linux系统监控
    SIEM
    mysql主从数据库复制
    JVM中可生成的最大Thread数量
    磁盘IO性能监控(Linux 和 Windows)
  • 原文地址:https://www.cnblogs.com/xxyfhjl/p/6415650.html
Copyright © 2011-2022 走看看