zoukankan      html  css  js  c++  java
  • oracle_decode

    decode(条件,值1,返回值1,值2,返回值2,……,值n,返回值n,缺省值)

    含义:

      if 条件=值1 then

          return (返回值1)

      else if 条件=值2

            return (返回值2)

      ……

      else if 条件=值n

             return (返回值n)

      end if

    --------------------------------------------------------------------------

     比大小 

      sign()函数根据某个值是0,正数还是负数,分别返回0,1,-1.

      select decode(sign(变量1-变量2),-1,变量1,变量2)

    --------------------------------------------------------------------------

    行列互转

    表1:socre

      Name  Subject  Result

    1     张三      语文     90

    2     张三      数学     98 

    3     张三      英语     76

    4     李四      语文     71

    5     李四      语文     72

    6     李四      语文     73

    -------decoe---

    select Name, 

        sum(decode(Subject,'语文',Result,0)) 语文,

        sum(decode(Subject,'数学',Result,0)) 数学,

        sum(decode(Subject,'英语',Result,0)) 英语,

    from score;

    -------case when-then-end---

    select Name,

        sum(case when Subject='语文' then Result end) 语文,

        sum(case when Subject='数学' then Result end) 数学,

        sum(case when Subject='英语' then Result end) 英语,

    from score;

    -----------------结果----------------------------------------------

      Name  语文  数学  英语

    1     张三     90       98        76

    2     李四   71      72        73

    -----在order by 中使用decode------------

    按语,数,外进行排列  select * from score order by decode(Subject,'语文',1,'数学'2,'英语'3)

    ---分别统计男女生数量----

    一、

    select count(*) from 表 where sex='男'';

    select count(*) from 表 where sex='女';

    二、

    select sum(decode(sex,男,1,0)) 男,sum(decode(sex,女,1,0)) 女 from 表;

  • 相关阅读:
    解析包含空格的字符串
    机器学习实战之Logistic回归
    复杂的数据类型
    k-近邻算法
    C&C++
    位运算
    文件操作
    结构体与共用体
    预处理-04-#if defined和#if !defined
    预处理-03-文件包含、条件编译、小结
  • 原文地址:https://www.cnblogs.com/0914lx/p/6940103.html
Copyright © 2011-2022 走看看