判断不为空函数
判断不为空函数
create table dept_info( pk_name varchar(100), dept01 varchar(100), dept02 varchar(100) ) insert into dept_info values('001','长租','小微'),('001','长租',''),('002','长租','') select pk_name,case when d2 !='' then d2 else d1 end from (select pk_name, max(dept01) as d1 ,max(dept02) as d2 from dept_info group by pk_name) T ; select pk_name,nvl(d2,d1) from (select pk_name, max(dept01) as d1 ,max(dept02) as d2 from pbbase.dept_info group by pk_name) T ; select pk_name,ifnull(d2,d1) from (select pk_name, max(dept01) as d1 ,max(dept02) as d2 from pbbase.dept_info group by pk_name) T ; select pk_name,colesce(d2,d1) from (select pk_name, max(dept01) as d1 ,max(dept02) as d2 from pbbase.dept_info group by pk_name) T ;
在 Oracle 数据库中,NVL函数的作用是如果参数1不为空,则返回参数1的值,否则返回参数2的值。
MySQL 中没有 NVL 函数,但是可以使用 IFNULL 函数 和 COLESCE 来替代。
NVL(a,b) a 为 null 就返回 b 的值。 SELECT COLESCE(NULL, 'test', 'hello'); 输出结果为 test