今天研究了一下数据库中的过程,发现用到NVL这个函数,我记忆力不好,之前用过,长期不用又忘了。于是去查看了下官方的用法解释:
专注于为中小企业提供网站设计、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业山阴免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
http://docs.oracle.com/cd/E11882_01/server.112/e41084/functions119.htm#i91798
NVL属于字符转化输出也是字符类型的。
表达式为NVL(expr1,expr2)
其目的就是为了转化"空"字符为"非空"字符,当expr1为空时,输出expr2,相反则输出expr1.
原文中提到expr1和expr2的可以是任意数据类型,如果两者的数据类型不一致,则会进行类型转化,
其转化的原则遵循:
1、如果expr1是字符类型,则在进行比较前将expr2转化成expr1的类型,并以varchar2类型返回字符集。
2、如果expr1是数值类型,则由Oracle自身根据最高优先级判断,将数据类型转化为高优先的数据类型,
并且最终以该类型返回数据。
举例:
SELECT NVL(MAX(ID), 0) FROM WAYBILL;
这个意思表示当WAYBILL表的中最大ID为空的时候返回0。