`
akunamotata
  • 浏览: 378778 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Oracle NULL相关函数

    博客分类:
  • DB
阅读更多

主要有以下四个函数

NVL(N, M) N为null的情况下,取M的值,否则取N的值
NVL2(N, A, B) N为null时,取A的值,否则取B的值 (纠正,N为null时,取B的值,否则取A的值)

NULLIF(M, N) 如果 M 和 N 相等,返回 NULL,否则返回 M。
COALESCE(A1, ……,AN ) 返回第一个不为NULL的值。

 

用以下SQL建表。 

CREATE TABLE test(
    a1 varchar2(10),
    a2 varchar2(10),
    a3 varchar2(10)
);
INSERT INTO test(a1, a2, a3) VALUES(NULL, NULL, 'ccc111');
INSERT INTO test(a1, a2, a3) VALUES(NULL, 'bbb222', 'ccc222');
INSERT INTO test(a1, a2, a3) VALUES('aaa333', 'ccc333', 'ccc333');

 测试: 

SELECT 
    nvl(a1, a2),
    nvl2(a1, a2, a3),
    nullif(a1, a2) ,
    coalesce(a1, a2, a3)
FROM test

结果:

NVL(A1,A2) NVL2(A1,A2,A3) NULLIF(A2,A3) COALESCE(A1,A2,A3)
---------- -------------- ------------- ------------------
           ccc111                       ccc111
bbb222     ccc222         bbb222        bbb222
aaa333     ccc333                       aaa333

 其中要注意的是:NULLIF(M, N) 如果M和N有一个为NULL时,返回NULL。

分享到:
评论
2 楼 akunamotata 2011-03-18  
xiaodatao 写道
楼主,有问题哟!
NVL2(N, A, B) 函数中,N为null时,取B的值,否则取A的值 ;


恩,的确,谢谢
1 楼 xiaodatao 2011-03-18  
楼主,有问题哟!
NVL2(N, A, B) 函数中,N为null时,取B的值,否则取A的值 ;

相关推荐

    Oracle NULL值的比较函数(是NULL=NULL为真的函数)

    你是否也为在Oracle里如何实现NULL的比较而犯愁呢?

    oracle开窗函数学习技巧总结

    本文将重点介绍`OVER`函数及其相关用法,并通过具体的例子来帮助读者更好地理解和掌握这些技巧。 #### 二、`OVER`函数简介 `OVER`函数是Oracle开窗函数的核心组成部分,它定义了一个计算上下文或窗口,在这个窗口内...

    Oracle null的使用

    "Oracle null 的使用" Oracle null 的使用是 Oracle 开发中一个非常重要的概念。_null 是一个特殊的值,表示未知或不存在的值。在 Oracle 中,null 与 0、空字符串、空格不同,它们是不同的概念。 认识 null 在 ...

    oracle函数大全 oracle函数大全

    除了上述函数,Oracle还提供其他很多函数,如TO_DATE用于将字符串转换为日期,TO_CHAR用于将日期转换为字符串,NVL用于处理NULL值,以及COUNT、SUM、AVG、MAX、MIN等聚合函数。了解并熟练使用这些函数,能极大地提高...

    oracle 10G函数大全(中文)

    这个中文帮助文档是开发者和DBA们在进行Oracle数据库操作时的重要工具,它能提供详尽的函数解释、用法示例以及相关提示。 1. **SQL函数类别**: - 数学函数:如ABS、MOD、ROUND等,用于数学计算和数值处理。 - ...

    Oracle内建函数大全

    8. **连接查询相关函数** - JOIN:连接两个或更多表以检索数据。 - UNION/UNION ALL:合并来自多个SELECT语句的结果集。 9. **游标和递归函数** - CURSOR:定义和操作游标,用于处理多行结果集。 - CONNECT_BY_...

    oracle系统内置函数大全

    Oracle数据库系统内置了大量函数,这些函数可以分为多个类别,例如字符函数、数字函数、日期函数、转换函数、分组函数以及其他辅助函数等。以下是对每个类别中一些常用函数的详细介绍: 字符函数 1. ASCII函数:...

    Oracle10G函数大全(chm格式的,比较全面)

    Oracle 10G是Oracle数据库的一个重要版本,它包含了丰富的函数和特性,为数据库管理和开发提供了强大的支持。本文将深入探讨Oracle 10G中的一些关键函数,旨在帮助你更好地理解和利用这些工具。 1. **数学函数**: ...

    oracle中 substring函数的使用

    ### Oracle中的SUBSTR函数详解 在Oracle数据库中,`SUBSTR`函数是一个非常重要的字符串处理函数,用于从指定的字符串中提取子串。该函数在实际应用中极为广泛,能够帮助用户灵活地处理数据,满足各种业务需求。下面...

    oracle 10g函数大全.

    8. **连接查询相关的函数**: - `COALESCE(column1, column2, ...)`: 返回第一个非空的参数。 - `CASE WHEN condition THEN result ELSE alternative END`: 用于条件判断,根据条件返回不同结果。 以上只是Oracle...

    Oracle 基础语句 函数大全(字符串函数

    这里我们详细探讨了多个与字符串相关的函数,它们在处理和操作文本数据时非常有用。 1. **SUBSTR** 函数:这个函数用于从字符串中提取子串。基本语法是 `substr(string, start_position, length)`。例如,`substr('...

    oracle常用字符函数

    Oracle数据库中的字符函数是SQL和PL/SQL编程中不可或缺的一部分,它们主要用于处理和操作文本数据。以下是对给定文件中提到的一些主要字符函数的详细解释: 1. ASCII(n) 函数: - 该函数返回字符串的第一个字符的...

    Oracle与Informix函数比较.doc

    1. 判断一个值是否为空:Informix 中的 `IS NULL` 操作符可以用来判断一个值是否为空,而 Oracle 中的 `IS NULL` 操作符可以实现相同的功能。 2. 判断是否存在记录:Informix 中的 `EXISTS` 函数可以用来判断是否...

    oracle 10G函数大全

    本资料“Oracle 10G函数大全”显然是一份全面的参考指南,涵盖了Oracle 10G中的主要函数,包括数学函数、字符串函数、日期时间函数、系统信息函数等。 1. **数学函数**: - ABS:返回一个数的绝对值。 - CEIL:...

    如何使用Oracle的COALESCE函数

    COALESCE函数是Oracle数据库中一个非常实用且强大的功能,主要用于返回一组表达式中第一个非空(NULL)值。自Oracle 9i版本起,COALESCE函数被引入,它提供了一种简洁而高效的方式来处理NULL值,相比于传统的CASE...

    SQLServer和Oracle的常用函数对比

    在数据库管理领域,SQLServer与Oracle作为两大主流的数据库管理系统,各自拥有丰富的内置函数,用于数据处理、查询优化以及各种复杂的数据操作需求。本文将基于给定文件信息,深入探讨和对比SQLServer与Oracle中的...

    ORACLE函数大全与整理

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数是其核心优势。"ORACLE函数大全与整理"这个资源集成了Oracle数据库中常用和不常用的各类函数,为Oracle应用开发者提供了详尽的参考。...

    oracle plsql基本函数

    ### Oracle PL/SQL 基本函数详解 在Oracle数据库中,PL/SQL(Procedural Language for SQL)是一种强大的编程语言,它结合了SQL的数据处理功能与过程化语言的控制结构,使得开发者能够编写复杂的应用程序逻辑。本文...

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

    Oracle数据库是世界上最广泛使用的数据库系统之一,其强大的功能和丰富的内置函数使得数据处理变得更为便捷。在初学者的旅程中,掌握Oracle常用函数是至关重要的一步。以下是对Oracle数据库中几个核心函数的详细介绍...

Global site tag (gtag.js) - Google Analytics