`
JEmql
  • 浏览: 62398 次
  • 性别: Icon_minigender_1
  • 来自: 无锡
社区版块
存档分类
最新评论

DECODE, NULLIF, NVL, and NVL2区别

阅读更多

 DECODE, NULLIF, NVL, and NVL2是oracle自带的常用函数。现将他们之间的使用方法和区别,使用列表形式总结,具体请看下表:

Function syntax

Logic equivalent

DECODE(E1, E2, E3, E4)

IF E1 = E2 THEN E3 ELSE E4

NULLIF(E1, E2)

IF E1 = E2 THEN NULL ELSE E1

NVL(E1, E2)

IF E1 IS NULL THEN E2 ELSE E1

NVL2(E1, E2, E3)

IF E1 IS NULL THEN E3 ELSE E2

 

 

分享到:
评论

相关推荐

    SQL语句的DECODE和NVL

    DECODE(value, if1, then1, if2, then2, if3, then3, ... else) 其中,value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个 value 值被测试,如果 value 的值为 if1,Decode 函数的结果是 ...

    关于decode函数的使用

    SELECT DECODE(columnname, 值1, 翻译值1, 值2, 翻译值2, ..., 值n, 翻译值n, 缺省值) FROM tablename WHERE ... ``` 其中: - `columnname`:指的是表中的某一列。 - `值1`, `值2`, …, `值n`:是指定的比较值。 - ...

    Oracle中Decode()函数使用技巧

    Oracle中的Decode()函数是数据库查询时非常实用的一个工具,它允许你在SQL语句中实现简单的条件判断,类似于IF-THEN-ELSE逻辑。这个函数在处理数据时提供了灵活性,避免了复杂的CASE语句,使得代码更加简洁易读。...

    decode函数[归类].pdf

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

    oracle处理空值的方法

    Oracle提供了多种方法来处理空值,包括使用NVL、NVL2、COALESCE函数,以及CASE和DECODE语句。下面将详细介绍这些方法及其应用场景。 ### 1. NVL函数 NVL(expr1, expr2)函数用于替换空值。当expr1为NULL时,NVL函数...

    oracle decode

    除了DECODE,Oracle还提供了其他类似的函数,如NVL(用于处理NULL值)、COALESCE(也用于处理NULL值,但支持多个参数,当第一个非NULL参数出现时返回)以及CASE表达式,它们都是在SQL查询中处理复杂逻辑的利器。...

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

    HANA 和 Oracle 中的 nullif 函数都是用于实现这个功能的。然而,HANA 中没有 dual 表,只有 DUMMY 表。 4. nvl(oracle),ifnull(hana)函数 nvl 和 ifnull 函数用于当参数值为 null 时,返回指定的 value。...

    SQL中 decode()函数简介

    NVL函数用于处理NULL值,如果`EXPR1`是NULL,NVL函数会返回`EXPR2`的值,否则返回`EXPR1`的值。在DECODE函数中,我们可以这样使用NVL: ```sql SELECT monthid, DECODE(NVL(sale, 6000), 6000, 'NG', 'OK') AS ...

    OCP 11g 051题库

    以上解析展示了Oracle数据库中几种常用函数的使用方法,包括COALESCE、DECODE、NVL、NULLIF等,以及如何正确构建INSERT语句,涉及子查询的使用和SQL语法的正确性。这些知识点对于准备OCP 11g认证考试的考生来说至关...

    Oracle常用函数

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

    Oracle常用关键词和函数

    NULLIF()函数则是用来比较两个表达式是否相等,并根据结果返回NULL。如果a等于b,NULLIF(a, b)返回NULL,否则返回a。这个函数在需要将相等的值转换为NULL时特别有用。 DECODE()函数是一个条件判断函数,它可以替代...

    实用数据库41

    - `NULLIF(expr1, expr2)`: 如果`expr1`等于`expr2`,则返回NULL,否则返回`expr1`。常用于比较两个值是否相等,如果相等则设为NULL。 - `COALESCE(expr1, expr2, ..., exprn)`: 返回第一个非空的表达式,如果所有...

    OCA 1Z0-051 Full Dummy

    - 这条语句使用了NVL函数来处理promo_cost可能是NULL的情况,然后使用DECODE函数根据promo_cost的值计算折扣。当promo_cost不为NULL时,返回其25%的值;否则返回100。 - **选项B**:`SELECT promo_id, DECODE(promo...

    Oracle特色函数与复杂更新应用.pptx

    - `NULLIF`: 如果两个表达式相等,则返回NULL,否则返回第一个表达式,如`NULLIF(employee_id, 0)`。 - `COALESCE`: 返回一系列表达式中的第一个非空值。如果所有表达式都为空,它将返回NULL。例如,`COALESCE...

    MLDN魔乐科技JAVA培训_Oracle课堂6_排序、单行函数.rar

    5. **逻辑函数**:如NULLIF()比较两个值,如果相等则返回NULL,NVL()和NVL2()处理NULL值。 6. **其他函数**:DECODE()根据条件返回不同值,CASE或CASE WHEN...END用于条件表达式,以及ROWNUM用于生成行号。 这堂...

    ORACLE转DB2对照全解

    DECODE(col, 'value1', val1, 'value2', val2, def_val) ``` **DB2:** ```sql CASE WHEN col = 'value1' THEN val1 WHEN col = 'value2' THEN val2 ELSE def_val END ``` **注意:** Oracle提供了`DECODE`函数,...

    oracle手册,详解SQL用法

    在处理空值(NULL)时,Oracle提供了`NVL()`, `NVL2()` 和 `NULLIF()` 函数。`NVL()`用于当某个表达式的结果为NULL时,替换为指定的默认值;`NVL2()`则在第二个参数不是NULL时返回第三个参数,否则返回第一个参数;`...

    Oracle基本函数总结

    - **NULLIF**: 当两个参数相等时返回NULL,否则返回第一个参数。 ```sql SELECT NULLIF('abc', 'abc') FROM dual; -- 输出结果:NULL SELECT NULLIF('abc', 'abcd') FROM dual; -- 输出结果:abc ``` ##### ...

    oracle常用函数全集

    NULLIF(expr1, expr2)函数用于比较两个表达式的值,如果它们相等,则返回NULL;如果不相等,则返回expr1。 ```sql SELECT nullif(10, 10); ``` #### COALESCE COALESCE(expr1, expr2, ..., exprn)函数返回第一个非...

    Oracle数据库试题题(附答案).pdf

    在Oracle中,字符转换函数如NVL(), NULLIF(), NVL2()和DECODE()用于处理NULL值和进行条件逻辑判断。例如,NVL函数可以将NULL值转换为指定的非NULL值,而NULLIF函数则返回两个表达式比较的结果,如果相等则返回NULL。...

Global site tag (gtag.js) - Google Analytics