`

Decode与NVL和NVL2区别

 
阅读更多

Decode

decode(条件,值1,翻译值1,值2,翻译值2,...,缺省值)    该函数与程序中的 If...else if...else 意义一样

NVL

格式:NVL( string1, replace_with)

功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL。

注意事项:string1和replace_with必须为同一数据类型,除非显式的使用TO_CHAR函数进行类型转换。

select nvl(sum(t.dwxhl),1) from tb_jhde t  就表示如果sum(t.dwxhl) = NULL 就返回 1

Oracle在NVL函数的功能上扩展,提供了NVL2函数

NVL2

nvl2 (E1, E2, E3) 的功能为:如果E1为NULL,则函数返回E3,否则返回E2

结合Decode 和 NVL等函数 常常结合使用,例如

select monthid,decode(nvl(sale,6000),6000,'NG','OK') from output

扩展知识

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

如果取较小值就是select

monthid,decode(sign(sale-6000),-1,sale,6000) from output,即达到取较小值的目的。

分享到:
评论

相关推荐

    SQL语句的DECODE和NVL

    SQL 语句的 DECODE 和 NVL 函数 在 SQL 语句中,DECODE 和 NVL 函数是两个非常重要和常用的函数,它们可以帮助我们实现复杂的逻辑判断和数据处理。本文将详细介绍 DECODE 和 NVL 函数的使用方法和实践应用。 一、...

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

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

    Oracle中Decode()函数使用技巧

    Decode()函数常与NVL()函数一起使用,处理可能的NULL值。NVL()函数用于将NULL替换为指定的值。例如: ``` DECODE(NVL(column, 'default'), 'value', 'result') ``` 这个例子中,如果`column`是NULL,先用`'...

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

    本文讲述了Oracle-Decode()函数和CASE语句的比较。

    decode函数[归类].pdf

    在实际应用中,DECODE函数可以结合其他函数,如NVL(用于处理NULL值)一起使用,以实现更丰富的逻辑处理。例如,如果需要在查询中处理可能为NULL的字段,可以这样做: ```sql SELECT DECODE(NULLABLE_COLUMN, NULL,...

    ORACLE 列转行 DECODE函数用法

    在列转行的应用中,DECODE函数可以与PIVOT操作结合使用。PIVOT操作用于将行转换为列,而DECODE则用于提供列值的逻辑判断。比如,如果你有一个销售数据表,包含产品ID、月份和销售额,你可以通过以下方式将不同产品的...

    oracle decode

    Oracle的DECODE函数是数据库查询中的一个非常实用的工具,尤其在处理条件判断和数据转换时。DECODE函数提供了一种简洁的语法,使得我们可以在SQL查询中避免使用复杂的CASE语句或者IF-THEN逻辑。它的工作原理是,对...

    DB2 与ORACLE的比对.pdf

    以下是对这两个数据库系统在数据类型转换、WHERE 条件、REPLACE 关键字、子查询别名、DATE 数据类型、分页处理、DECODE 函数和 NVL 函数等方面的对比: 1. **数据类型转换函数**: - ORACLE 提供 to_char、to_...

    oracle数据库[收集].pdf

    本文将主要探讨Oracle数据库中两个重要的函数:NVL和DECODE,以及如何利用它们进行数据处理和转换。 NVL函数在Oracle数据库中用于处理NULL值。在SQL查询中,如果你需要在某个字段值为NULL时返回一个默认值,NVL函数...

    SQL中 decode()函数简介

    DECODE函数也可以与其他函数结合使用,例如NVL和SIGN函数。NVL函数用于处理NULL值,如果`EXPR1`是NULL,NVL函数会返回`EXPR2`的值,否则返回`EXPR1`的值。在DECODE函数中,我们可以这样使用NVL: ```sql SELECT ...

    对Oracle 排序中的几种常用排序的介绍

    本文将详细介绍Oracle中常见的几种排序方式,包括按拼音、部首、笔画排序,以及如何处理NULL值,使用DECODE和NVL函数,以及实现高效的分页查询。 1. **按拼音排序**:Oracle支持按照汉字的拼音进行排序,这在处理...

    ORACLE函数大全与整理

    2. NVL()和NVL2()的区别在于,当第二个参数为NULL时,NVL2()会返回第三个参数的值,而NVL()则直接返回NULL。 3. 使用DECODE()函数可以简化复杂的CASE语句,提高代码可读性。 4. 日期函数在处理业务逻辑时非常重要,...

    DB2、ORACLE SQL写法的主要区别

    DB2、ORACLE SQL写法的主要区别 ...2、Where条件弱类型判断 3、replace关键字 4、子查询别名 5、DATE数据类型的区别 6、分页的处理 7、decode函数 8、NVL函数 9、substr的不同 10、获取操作系统当前日期

    oracle与db2对比

    以下是对两者主要区别的详细分析: 1. 取前 N 条记录: - Oracle 使用 `SELECT * FROM TableName WHERE ROWNUM ;` - DB2 使用 `SELECT * FROM TableName FETCH FIRST N ROWS ONLY;` 2. 获取系统日期: - Oracle...

    Oracle常用函数

    - **NVL和NVL2**:用于处理NULL值,NVL将NULL替换为指定的默认值,NVL2在第一个参数为NULL时返回第二个参数,否则返回第三个参数。 - **TRIM**:去除字符串两端的空格或指定字符。 - **LNNVL**:逻辑非NULL值,当...

    OCA 1Z0-051 Full Dummy

    A选项正确,因为它展示了如何使用DECODE与NVL结合,当`promo_cost`为NULL时,返回`promo_cost*0.25`,否则返回`promo_cost`。B选项和C选项包含语法错误,具体来说是DECODE函数内部嵌套使用的方式有误。D选项的DECODE...

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

    - **NVL和NVL2**:用于处理NULL值,NVL将NULL替换为指定值,NVL2则在表达式不为NULL时返回第二个参数。 - **LNNVL**:逻辑非NULL值,如果表达式为NULL,返回TRUE,否则返回FALSE。 - **TRIM**:用于去除字符串两端或...

    HANA-SQL参考及Oracle对照-v0.6.docx

    然而,HANA 中没有 decode 函数,与之功能相同的是 map 函数。 3. nullif 函数 nullif 函数用于返回空值或指定的值。HANA 和 Oracle 中的 nullif 函数都是用于实现这个功能的。然而,HANA 中没有 dual 表,只有 ...

    oracle函数大全.doc

    只有少数几个函数可以处理 NULL 值,例如 CONCAT、DECODE、DUMP、NVL、REPLACE。 NVL 函数 NVL 函数是处理 NULL 值最重要的函数,它可以直接处理 NULL 值。NVL 函数有两个参数:NVL(x1,x2),x1 和 x2 都是表达式,...

    常见sql语句

    下面是常见的SQL语句,包括NVL函数、Decode函数、Case函数、更改列标题、组合查询、整合性查询、复合性查询和update语句。 1. NVL函数: NVL函数是一个空值转换函数,用于将空值转换成实际值。其语法为NVL(表达式...

Global site tag (gtag.js) - Google Analytics