Oracle数据库基础:NVL, NVL2, NULLIF函数详解

需积分: 0 0 下载量 2 浏览量 更新于2024-08-15 收藏 2.91MB PPT 举报
"北大青鸟的Oracle9i课程主要涵盖Oracle数据库的基础知识,包括Oracle的工作原理、数据库理论、体系结构、数据库对象、SQL与PL/SQL语言以及开发工具的使用。课程旨在使学习者熟悉Oracle的各个方面,从关系数据库的基本概念到高级特性如分布式数据库和数据仓库。" 在Oracle9i中,"其它函数"部分提到了三个重要的空值处理函数: 1. **NVL**: 这个函数用于将NULL值替换为指定的非NULL值。在SQL查询中,如果列的值为NULL,NVL函数会用第二个参数的值来替换它。例如,`NVL(re_level,0)` 将在`re_level`为NULL时返回0。 2. **NVL2**: NVL2函数扩展了NVL的功能,它接受三个参数,当第一个参数为NULL时,返回第二个参数的值;否则,返回第三个参数的值。在示例中,`NVL2(re_level,re_level,max_level)` 在`re_level`不为空时返回`re_level`的值,否则返回`max_level`。 3. **NULLIF**: NULLIF函数用于比较两个表达式,如果它们相等,则返回NULL,否则返回第一个表达式。在`NULLIF(re_level,max_level)`中,如果`re_level`等于`max_level`,则结果为NULL,否则返回`re_level`的值。 Oracle体系结构是课程的重点之一,包括以下几个核心组件: - **实例**: 包含内存结构(如System Global Area, SGA)和后台进程,如PMON(Process Monitor)、SMON(System Monitor)等,这些进程负责数据库的监控和维护。 - **内存结构**: SGA由多个组成部分组成,包括数据缓冲区(存储数据文件中的数据)、日志缓冲区(用于写入redo log file)和共享池(存储解析的SQL语句和PL/SQL代码)。 - **后台进程**: 如PMON用于清理失败的会话,SMON进行系统级别的恢复,DBWR(Database Writer)将缓存中的更改写入数据文件,LGWR(Log Writer)写入重做日志文件,CKPT(Checkpoint)负责记录检查点信息。 - **数据库对象**: 包括表、视图、索引、序列、同义词、触发器和子程序(存储过程和函数),这些都是数据库中的基本构建块。 - **SQL**:标准的数据库查询语言,包括DQL(数据查询语言)、DML(数据操纵语言)、DDL(数据定义语言)和DCL(数据控制语言),用于查询、操作、定义和控制数据库。 - **PL/SQL**:Oracle的扩展过程语言,提供块结构、流程控制、可移植性,并能提升性能,常用于复杂的业务处理和共享池管理。 - **开发工具**: 如SQL*Plus,是Oracle的命令行工具,用于执行SQL查询和PL/SQL程序。 通过学习这门课程,你将能够掌握Oracle数据库的管理和编程,为从事相关IT工作打下坚实的基础。