`

ORACLE的sign函数 和 DECODE函数

 
阅读更多
1:比较大小函数 SIGN

sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1 ,例如:
引用
a=10,b=20
则sign(a-b)返回-1

2:流程控制函数 DECODE

DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商还没有实现此功能。假设想给职员加工资,其标准是:工资在8000元以下的将加20%;工资在8000元以上的加15%,8000 元的不加。实现:
select decode(sign(salary - 8000),1,salary*1.15,-1,salary*1.2,salary from employee

含义解释:
引用
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)


应用 行转列

表结构:TEST_TB_GRADE:
create table TEST_TB_GRADE  
(  
  ID        NUMBER(10) not null,  
  USER_NAME VARCHAR2(20 CHAR),  
  COURSE    VARCHAR2(20 CHAR),  
  SCORE     FLOAT  
)

初始数据如下图:



如果需要实现如下的查询效果图:



这就是最常见的行转列,主要原理是利用decode函数、聚集函数(sum),结合group by分组实现的,具体的sql如下:
select t.user_name,  
      sum(decode(t.course, '语文', score,null)) as CHINESE,  
      sum(decode(t.course, '数学', score,null)) as MATH,  
      sum(decode(t.course, '英语', score,null)) as ENGLISH  
    from test_tb_grade t  
    group by t.user_name  
    order by t.user_name  


nvl
nvl(a,b) 如果a不为null 则返回a,如果a为null则返回b;

nvl2
nvl2(a,b,c) ,如果a不为null 则返回b,如果a为null则返回c;
  • 大小: 20.6 KB
  • 大小: 5.3 KB
分享到:
评论

相关推荐

    Oracle 中 decode 函数用法

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

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

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

    Oracle常用函数及实例.pdf

    本文主要探讨了Oracle中的一些常用函数,并通过实例解析了它们的基本用法,特别介绍了DECODE函数的使用技巧。 首先,我们来看数字函数。在Oracle中,ABS(x)函数用于计算数值的绝对值,例如ABS(-10)返回10。CEIL(x)...

    decode函数.docx

    Decode 函数是一个强大的 Oracle 函数,用于根据条件返回不同的值。它的语法结构为 `decode(条件,值 1,返回值 1,值 2,返回值 2,...值 n,返回值 n,缺省值)`。decode 函数的含义是,如果条件等于值 1,则返回返回值 1...

    Oracle常用函数和使用方法

    #### 二、DECODE函数:条件判断与转换 **功能描述**:`DECODE`函数用于实现多条件判断,类似于编程语言中的`switch-case`语句。其语法如下: ``` DECODE(条件, 值1, 翻译值1, 值2, 翻译值2, ..., 值n, 翻译值n, ...

    oracle函数和分组

    在Oracle数据库中,函数和分组是进行数据处理和分析的重要工具。本篇将详细介绍一些常用的Oracle内建函数,特别是字符函数、数字函数以及分组相关的GROUP BY子句和HAVING子句。 首先,我们来看字符函数。字符函数...

    Oracle常用的函数大全详细介绍

    1. **DECODE函数**:DECODE函数在查询中用于条件判断和返回值替换。其基本语法为`DECODE(expression, value1, result1, value2, result2, ..., default_result)`。如果`expression`等于`value1`,则返回`result1`;...

    Oracle高级操作函数学习笔记

    DECODE函数是Oracle中的一个条件分支函数,它的功能类似于编程语言中的if-else if-else语句。DECODE函数的格式为: ``` DECODE(字段或表达式, 值1, 结果1, 值2, 结果2, ... , 默认结果) ``` 如果字段或表达式的值...

    oracle系统内置函数大全

    2. DECODE函数:根据条件判断进行选择性值转换。 3. DUMP函数:返回字符集、长度、数据类型和字符表示的表达式。 4. EMPTY_CLOB函数:返回一个空的CLOB(Character Large Object)值。 5. EMPTY_BLOB函数:返回一个...

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

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

    Oracle常用函数

    1. **DECODE函数**: DECODE函数用于根据提供的条件返回不同的值。它类似于if...else语句的简写形式。例如,`DECODE(column, value1, result1, value2, result2, ..., default_result)`,如果`column`等于`value1`...

    oracle-10G函数大全.chm

    1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...); 2,字符型函数(lower()、upper()、lpad()、rpad()、substr()、replace()...); 3,日期型函数(add_months()、last_day()、round()、...

    Oracle函数大全.pdf

    Oracle提供了一系列的函数,用于处理不同类型的数据,如字符串、数字、日期和时间等。下面按照文档所提供的内容,详细解读各个函数以及相关知识点: ### 第一章 字符串大全 字符串函数用于对字符数据进行处理。 -...

    ORACLE函数及其用法

    Oracle是一种广泛使用的数据库管理系统,它提供了丰富的内置函数,这些函数能够帮助开发者和数据库管理员更高效地处理数据。本文将详细介绍Oracle中的一些常用函数及其应用场景。 #### 数值型函数 1. **ABS(X)**:...

    decode函数[归类].pdf

    DECODE函数的灵活性在于,不仅可以用于简单的等值比较,通过结合其他函数和表达式,还能实现更复杂的逻辑。例如,使用`sign()`函数可以实现大于、小于或等于的比较。在示例中,对于工资调整的问题,DECODE函数可以...

    decode函数.pdf

    Decode函数是Oracle数据库中用于实现条件逻辑的一个内置函数,它类似于编程语言中的switch-case语句或if-then-else语句。...Decode函数在Oracle SQL和PL/SQL中的重要性不可忽视,它是实现条件逻辑判断的关键工具之一。

    decode函数借鉴.pdf

    DECODE 函数是 Oracle 公司独家的功能强大的函数,它提供了简洁的运算方式、可控的数据模型和灵活的格式转换。DECODE 函数是 Oracle PL/SQL 的功能强大的函数之一,目前还只有 Oracle 公司的 SQL 提供了此函数,其他...

    oracle中decode函数的使用方法

    Oracle中的DECODE函数是一个非常实用的内置函数,它在SQL查询中起到了类似条件判断的作用,可以简化复杂的逻辑表达式。DECODE函数的基本语法是: ```sql DECODE(条件, 值1, 返回值1, 值2, 返回值2, ..., 值n, ...

Global site tag (gtag.js) - Google Analytics