就是说
nvl(a,b),如果a是NULL,那么nvl(a,b)的值为b

解决方案 »

  1.   

    补充:如果不是NULL,nvl(a,b)的值是a。:)
      

  2.   

    专门处理字段为空的情况
    如有字段field,用NVL(field,"other")意思是field为空值显示为other,不为空则为本身的值。
      

  3.   

    nvl(a,b),若a<>null,结果是a
              若a=null,结果是b。
      

  4.   

    nvl(a,b),若a<>null,结果是a
              若a=null,结果是b。
      

  5.   

    nvl(a,b),若a<>null,结果是a
              若a=null,结果是b。
      

  6.   

    NVL()专门处理字段为空时的情况
      

  7.   

    标准解释
    NVL(expr1,expr2)
    如果expr1是NULL,则返回expr2,否则返回expr1.返回值与expr1类型相同,除非expr1是字符串类,在这种情况下将返回VARCHAR2类型.这个函数用于确保查询记录集中不包含NULL值.类似的还有
    NVL(expr1,expr2,expr3)
    如果expr1是NULL,则返回expr2,否则返回expr3.返回值与expr2类型相同,除非expr2是字符类型,在这种情况下返回VARCHAR2类型NULLIF(a,b)
    如果a等于b返回NULL,如果不等于返回b.--------------------
    不为得分,只为大家共享资源
      

  8.   

    NVL(value,substitute),value为空时以substitute代替
      

  9.   

    一个用到nvl的小技巧:建index的时候,经常因为被索引键值为空而效率低下
    假定,表my_table中有一个字段my_column经常出现空值
    那么,即便对该字段建了index,使用查询条件“my_column is null”时也是效率低下
    这时候,使用index的效率甚至可能还不如不使用
    怎么办呢?
    nvl函数就派上用场了
    在确知my_column不可能取到某个特定值的时候,假定这个值为my_value
    对函数表达式nvl(my_column,my_value)建立一个index:CREATE INDEX my_nvl_func_index ON my_table
    (
        nvl(my_column,my_value)   asc
    );将原来的查询条件“my_column is null”改写为“nvl(my_column,my_value) = my_value”
    就ok了