nvl 与 nvl2

NVL函数 Oracle/PLSQL中的一个函数。

  格式为:

  NVL( string1, replace_with)

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

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

  例:NVL(TO_CHAR(numeric_column), ‘some string‘) 其中numeric_column代指某个数字类型的值。

  例:nvl(yanlei777,0) > 0

  NVL(yanlei777, 0) 的意思是 如果 yanlei777 是NULL, 则取 0值

  通过查询获得某个字段的合计值,如果这个值为null将给出一个预设的默认值

  例如:

  select nvl(sum(t.dwxhl),1)

  from tb_jhde t

  就表示如果sum(t.dwxhl) = NULL 就返回 1

  另一个有关的有用方法

  declare i integer

  select nvl(sum(t.dwxhl),1) into i from tb_jhde t where zydm=-1这样就可以把获得的合计值存储到变量

  i中,如果查询的值为null就把它的值设置为默认的1

  oracle中:

  select nvl(rulescore,0) from zwjc_graderule where rulecode=‘FWTD‘;

  如果记录中不存在rulecode =‘FWTD‘的数据.则查不出数据.

  select nvl(rulescore,0) into rule_score from zwjc_graderule where rulecode=‘FWTD‘;会报查不到数据的错

  select nvl(sum(rulescore),0) from zwjc_graderule where rulecode=‘FWTD‘;

  如果记录中不存在rulecode =‘FWTD‘的数据.还是可以得到一行列名为nvl(rulescore,0),值为0的数据.

  select nvl(sum(rulescore),0) into rule_score from zwjc_graderule where rulecode=‘FWTD‘; 不会报错

NVL的扩展-NVL2

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

  NVL2(E1, E2, E3)的功能为:如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

时间: 2024-11-05 13:50:23

nvl 与 nvl2的相关文章

Oracle nvl、nvl2、nullif、decode、case函数详解

1.NVL函数 nvl(expr1,expr2),如果expr1为空,则返回expr2: 2.NVL2函数 nvl2(expr1,expr2,expr3),如果expr1为空,则返回expr3,否则返回expr2: 3.NULLIF函数 nullif(expr1,expr2),如果expr1=expr2,返回空,否则返回expr1,要求两个表达式数据类型一致: SQL> insert into t1 values(9); 说明1:NVL和NVL2函数在进行空值判断的时候,都会将函数内的表达式执行

NVL 和NVL2函数

NVL 和NVL2函数 NVL函数: nvl(exp1,exp2) -->如果exp1为null则换成exp2 nvl2函数: nvl2(exp1,exp2,exp3) -->如果如果exp1 不为null返回exp2;为null返回exp3

oracle的nvl和nvl2

NVL2(expr1,expr2,expr3) 功能:如果参数表达式expr1值为NULL,则NVL2()函数返回参数表达式expr3的值:如果参数表达式expr1值不为NULL,则NVL2()函数返回参数表达式expr2的值. NVL( string1, replace_with) 功能:如果string1为NULL,则NVL函数返回replace_with的值,否则返回string1的值,如果两个参数都为NULL ,则返回NULL.

oracle函数NVL,NVL2和NULLIF之间的区别和使用

oracle用这么几个函数,可以帮助我们解决数据上null或0的处理 1.NVL()函数 1.1)介绍:NVL(expr1,expr2),若expr1为null, 返回expr2; 不为null,返回expr1.  注意:两者类型要一致 1.2)用法: --expr1为空,返回expr2,结果:'未知'-- select NVL(null,'未知') SexType from dual; --expr1不为空,返回expr1, 结果:1 -- select NVL('1','2') SexTyp

使用count结合nvl函数时碰到的问题

count()函数功能:统计表中中某个字段或所有记录个数,字段值为null的不做统计. 手册中解释: COUNT returns the number of rows returned by the query. You can use it as an aggregate or analytic function. If you specify DISTINCT, then you can specify only the query_partition_clause of the analy

PL/SQL第三章 基础查询语句

1 --查询所有列 select * from tab_name|view_name; 2 SELECT * FROM emp; 3 SELECT * FROM (SELECT * FROM emp); 4 --查询特定列 5 SELECT * FROM emp WHERE emp.ename='SMITH'; 6 -- 注意PL/SQL Developer不支持会话控制语句 7 --以特殊格式显示日期列:数据类型是date或timestamp,默认显示格式:DD-Mon-RR 8 ALTER

Oracle单列函数

--字符函数--1.ASCII 返回与指定的字符对应的十进制数;select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; --2.CHR 给出整数,返回对应的字符;select chr(54740) zhao,chr(65) chr65 from dual; --3.CONCAT 连接两个字符串;select concat('010-','88888888')||'转23' 高乾竞电话 from du

总结:

一:安装oracle Linux系统要求: 内存,CPU,足够的大. 物理内存:必须高于1G,对于VMware虚拟机不少于1.5G. 一:基础内容 1:SYS:SYS用户是Oracle中的一个超级用户. system:system用户是Oracle中默认数据库管理员. scott:scott是Oracle数据库中一个示范用户. 1:设置每行显示的数据长度:SET LINESIZE 300: 设置每次显示的行数:SET PAGESIZE 30: 查看当前用户: show user: 切换用户: C

转载:oracle null处理

(1)NULL的基础概念,NULL的操作的基本特点NULL是数据库中特有的数据类型,当一条记录的某个列为NULL,则表示这个列的值是未知的.是不确定的.既然是未知的,就有无数种的可能性.因此,NULL并不是一个确定的值.这是NULL的由来.也是NULL的基础,所有和NULL相关的操作的结果都可以从NULL的概念推导出来.判断一个字段是否为NULL,应该用IS NULL或IS NOT NULL,而不能用‘=’.对NULL的判断只能定性,既是不是NULL(IS NULL/IS NOT NULL),而