`
bada130
  • 浏览: 39568 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

[Oracle] decode例子

阅读更多
     -- 每月入职人数统计
     DECODE(字段, 条件1, 结果值1
                  条件2, 结果值2, 默认值); 
     -- 方法一
     SELECT DECODE(TO_CHAR(HIREDATE, 'MM'), '01', 1) AS "1月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '02', 1) AS "2月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '03', 1) AS "3月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '04', 1) AS "4月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '05', 1) AS "5月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '06', 1) AS "6月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '07', 1) AS "7月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '08', 1) AS "8月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '09', 1) AS "9月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '10', 1) AS "10月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '11', 1) AS "11月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '12', 1) AS "12月"
       FROM SCOTT.EMP;
     SELECT COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '01', 1)) AS "1月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '02', 1)) AS "2月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '03', 1)) AS "3月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '04', 1)) AS "4月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '05', 1)) AS "5月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '06', 1)) AS "6月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '07', 1)) AS "7月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '08', 1)) AS "8月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '09', 1)) AS "9月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '10', 1)) AS "10月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '11', 1)) AS "11月"
          , COUNT(DECODE(TO_CHAR(HIREDATE, 'MM'), '12', 1)) AS "12月"
       FROM SCOTT.EMP; 
     -- 方法二
     SELECT DECODE(TO_CHAR(HIREDATE, 'MM'), '01', 1, 0) AS "1月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '02', 1, 0) AS "2月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '03', 1, 0) AS "3月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '04', 1, 0) AS "4月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '05', 1, 0) AS "5月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '06', 1, 0) AS "6月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '07', 1, 0) AS "7月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '08', 1, 0) AS "8月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '09', 1, 0) AS "9月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '10', 1, 0) AS "10月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '11', 1, 0) AS "11月"
          , DECODE(TO_CHAR(HIREDATE, 'MM'), '12', 1, 0) AS "12月"
       FROM SCOTT.EMP;
     SELECT SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '01', 1, 0)) AS "1月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '02', 1, 0)) AS "2月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '03', 1, 0)) AS "3月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '04', 1, 0)) AS "4月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '05', 1, 0)) AS "5月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '06', 1, 0)) AS "6月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '07', 1, 0)) AS "7月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '08', 1, 0)) AS "8月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '09', 1, 0)) AS "9月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '10', 1, 0)) AS "10月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '11', 1, 0)) AS "11月"
          , SUM(DECODE(TO_CHAR(HIREDATE, 'MM'), '12', 1, 0)) AS "12月"
       FROM SCOTT.EMP; 

 

  • 大小: 5.6 KB
  • 大小: 1.6 KB
  • 大小: 6.6 KB
分享到:
评论

相关推荐

    关于oracle decode函数的用法

    在这个例子中,DECODE函数被用来将学生的ID转换为年级名称,并且通过`SUM`和`DECODE`组合使用,实现按科目汇总学生成绩。`DECODE(kname, 'yu', score, 0)`会检查`kname`字段是否为'yu'(代表语文),如果是,则返回`...

    Oracle中Decode()函数的有关用法

    ### Oracle中Decode()函数的有关用法 #### 一、Decode()函数简介 在Oracle数据库中,`DECODE()`函数是一种非常实用的功能,主要用于条件判断并返回特定的值。它提供了一种简单的方法来实现多分支逻辑判断,尤其是...

    Oracle中Decode()函数使用技巧

    这个例子中,如果`column`是NULL,先用`'default'`替换,然后进行Decode()判断。 6. **在聚合函数中使用**: Decode()函数也可用于GROUP BY、HAVING和ORDER BY子句中,帮助对分组或排序进行条件判断。例如: ```...

    Oracle 中 decode 函数用法

    Oracle中的DECODE函数是一种非常实用的工具,它允许你在SQL查询中执行简单的条件判断和返回相应的值。这个函数类似于IF-THEN-ELSE语句的简写形式,减少了编写复杂逻辑的代码量,使得SQL语句更加简洁易读。 DECODE...

    Oracle DECODE函数语法使用介绍

    在上面的例子中,DECODE函数根据`command`字段的值返回相应的操作名称,如果找不到匹配的值,则返回'Other'。 此外,DECODE函数还可以用于数据转换和报表的行列转换。在处理住房公积金报表时,原始数据可能按行存储...

    ORACLE 列转行 DECODE函数用法

    在Oracle数据库中,DECODE函数是一个非常实用的工具,它允许你在SQL查询中进行条件判断,将特定的值转换为其他值。DECODE函数在处理列转行的问题时,尤其适用于将多列数据合并到一行中,使得数据展示更加简洁明了。...

    oracle的decode函数

    ### Oracle的DECODE函数详解 #### 一、DECODE函数简介 在Oracle数据库中,`DECODE`函数是一种非常实用的条件判断函数,其功能类似于编程语言中的`IF`语句。通过比较输入值与一系列预设值,该函数能够根据匹配情况...

    oracle行列转换例子

    本文将深入解析一个Oracle行列转换的例子,通过详细解释SQL语句的构成及其背后的逻辑,帮助读者理解如何在Oracle中实现行列转换。 ### Oracle行列转换例子解析 #### SQL语句结构分析 给定的SQL语句主要分为几个...

    oracle中decode函数的使用方法示例

    Oracle中的DECODE函数是一个非常实用的工具,它允许我们在SQL查询中进行条件判断,并返回相应的值。DECODE函数的基本语法如下: ```sql DECODE(value, if1, then1, if2, then2, ..., else) ``` 1. **DECODE用于...

    oracle中nvl、decode、trim、rtrim的常见用法

    ### Oracle中NVL、DECODE、TRIM、RTRIM的常见用法 #### NVL函数 在Oracle数据库中,NVL函数是一个非常实用的功能,主要用于处理NULL值。其基本语法如下: ``` NVL(expression1, expression2) ``` 其中: - `...

    Oracle-Decode()函数和CASE语句的比较

    Oracle数据库中的`Decode()`函数和`CASE`语句都是用于条件判断和数据转换的重要工具,它们各有特点,适用场景也有所不同。以下是对这两个功能的详细比较。 首先,`Decode()`函数是一个简化的条件表达式,它允许你在...

    Oracle null的使用

    变量注意初始化Oracle 中变量初始化时注意,变量默认为空,结果一定为 NULL,以 p_get_sphm 调试为例子认识。所以有时根据需要进行初始化的设置。 NULL 参与四则运算时返回为空对空值做加、减、乘、除等运算操作,...

    Oracle用decode函数或CASE-WHEN实现自定义排序

    Oracle的`DECODE`函数是一种条件判断函数,它可以用于对数据进行简单的多值比较和返回。在自定义排序场景中,`DECODE`函数可以将不同的字段值映射到对应的排序值。以下是一个例子: ```sql SELECT * FROM table_...

    decode函数[归类].pdf

    在处理住房公积金报表的例子中,DECODE函数可以帮助将不同经办行的代码转换为对应的描述,使得报表更易读。 DECODE虽然不是SQL标准的一部分,但它的实用性使得其他数据库供应商也开始考虑类似的实现。尽管有时会有...

    oracle经典例子

    根据提供的文件信息,我们可以归纳出以下几个关键的知识点: ### 1. Oracle自定义函数示例:随机数生成 #### 函数定义与实现 ...通过理解和应用这些例子,可以帮助开发者更好地掌握Oracle数据库的相关技术和功能。

    mysql仿oracle的decode效果查询

    在SQL查询中,有时我们需要根据特定条件返回不同的列值,Oracle数据库中的`DECODE`函数提供了这样的功能。然而,MySQL并没有直接对应的`DECODE`函数,但可以通过其他方式实现类似的效果。本文将详细介绍如何在MySQL...

Global site tag (gtag.js) - Google Analytics