`

Oracle 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。

分享到:
评论

相关推荐

    oracle的nvl函数的使用介绍

    Oracle的Nvl函数 nvl( ) 函数 从两个表达式返回一个非null 值。 语法 NVL(eExpression1, eExpression2) 参数 eExpression1, eExpression2 如 果 eExpression1 的计算结果为 null 值,则 NVL( ) 返回 eExpression2。...

    Hive与Oracle常用函数对比

    通过学习将Oracle和Hive的常用函数整理出来做了个对比,提供他们各自支持的常用函数。

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

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

    Oracle中的INSTR,NVL和SUBSTR函数的用法详解

    Oracle中INSTR的用法: INSTR方法的格式为 INSTR(源字符串, 要查找的字符串, 从第几个字符开始, 要找到第几个匹配的序号) 返回找到的位置,如果找不到则返回0. 例如:INSTR('CORPORATE FLOOR','OR', 3, 2)中,源字符...

    浅谈mysql可有类似oracle的nvl的函数

    下面小编就为大家带来一篇浅谈mysql可有类似oracle的nvl的函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    oracle-10G函数大全.chm

    1,数值型函数(abs()、sign()、ceil()、floor()、power()、exp()、round()...); 2,字符型函数(lower()、upper()、lpad()、rpad()、substr()、replace()...);...7,其它函数(decode()、nvl()、nvl2()、least()...);

    oracle常用函数

    Oracle中的NVL,NVL2,NULLIF,COALESCE通用函数

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

    ORACLE PL/SQL 字符串函数、数学函数、日期函数 --【字符串函数】 --字符串截取substr(字段名,起始点,个数) select Name,substr(Name,2,4),substr(Name,0,3),substr(Name,-2,3),substr(Name,-2,1) from t1; --字符...

    oracle的列转行函数

    SELECT TRIM(',' FROM SYS.STRAGG(A_NAME||NVL2(A_NAME,',','')))as nams FROM A_TEMP

    深入浅析Orcale的nvl函数和SQL Server的isnull函数

    主要介绍了Orcale的nvl函数和SQL Server的isnull函数的相关资料,需要的朋友可以参考下

    oracle 函数

    在SQL中Oracle内建了一系列函数,这些函数都可被称为SQL或PL/SQL语句,函数主要分为两大类: 单行函数 组函数 本文将讨论如何利用单行函数以及使用规则。 SQL中的单行函数 SQL和PL/SQL中自带很多类型的函数,有字符...

    Oracle存储过程和存储函数创建方法(详解)

    select * from emp; —————–存储过程———————— –定义  create[or replace] procedure 存储过程名称(参数名 [in]/out 数据类型)  is/as  begin –逻辑表达式  ...select sal*12+nvl(comm,0) in

    Oracle_Database_11g完全参考手册.part2/3

    9.3.3 NVL:空值置换函数 9.3.4 ABS:绝对值函数 9.3.5 CEIL 9.3.6 FL00R 9.3.7 MOD 9.3.8 POWER 9.3.9 SQRT:求平方根 9.3.1 0EXP、LN和LOG 9.3.1 1ROUND和TRUNC 9.3.1 2SIGN 9.3.1 3SIN、SINH、COS、COSH、TAN、...

    oracle使用管理笔记(一些经验的总结)

    13.oracle函数 26 (1)字符函数 26 (2)数学函数 26 (3)日期函数 27 (4)给表取别名的时候,不能加as;但是给列取别名,是可以加as 27 (5)转换函数 27 (6) to_char(date,'format') 27 (7) to_date(string,'format') 28 ...

    Oracle_Database_11g完全参考手册.part3/3

    9.3.3 NVL:空值置换函数 9.3.4 ABS:绝对值函数 9.3.5 CEIL 9.3.6 FL00R 9.3.7 MOD 9.3.8 POWER 9.3.9 SQRT:求平方根 9.3.1 0EXP、LN和LOG 9.3.1 1ROUND和TRUNC 9.3.1 2SIGN 9.3.1 3SIN、SINH、COS、COSH、TAN、...

    DB2、ORACLE SQL写法的主要区别

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

    最全的oracle常用命令大全.txt

    下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 1、用户 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_...

Global site tag (gtag.js) - Google Analytics