Oracle空值转化为实际值,第一反应是用nvl,但是,还有一个函数可以使用:coalesce(col1,col2,col3,....),coalesce支持多个参数,能很方便地返回第一个不为空的值。
select
coalesce(col1,col2,col3,col4) from dual
说明:当col1为空时,值为col2,col2为空时,值为col3,当col3为空时,值为col4
等同于
select nvl(nvl(nvl(col1,col2),col3),col4) from dual
如下表:
select coalesce(c1,c2,c3,c4) from mh ;
结果如下: