当前位置:Gxlcms > 数据库问题 > MySQL的IFNULL函数

MySQL的IFNULL函数

时间:2021-07-01 10:21:17 帮助过:2人阅读

MySQL函数里有一个很有用的函数IFNULL,它的形式是IFNULL(fieldA,fieldB),意义是当字段fieldA是NULL时取fieldB,不是NULL时取fieldA的值

这个函数与外连接配合使用时能起到Oracle的IIF或是NVL的作用:

以下代码供参考:

        StringBuilder sb=new StringBuilder();
        sb.append("    select ");
        sb.append("           t1.fullName,IFNULL(t2.actualHour,0) as actualHour,t1.planhour,t1.annotatorId,t1.annotatorId,IFNULL(t2.actualHour,0)/t1.planhour as ratio");
        sb.append("    from ");
        sb.append("          XXshipTB  t1 ");
        sb.append("          left outer join (select userid,sum(hours) as actualHour from dayworkTB where (Date(date) between ‘"+fromDate+"‘ and ‘"+endDate+"‘) group by userid)  t2");
        sb.append("    on ");
        sb.append("           t1.annotatorId=t2.userid");
        sb.append("      and  abs(t2.actualHour-t1.planhour)>0.01");
        sb.append("    ORDER by ");
        sb.append("           ratio desc,t1.fullName asc");
        String sql=sb.toString();

MySQL的IFNULL函数

标签:

人气教程排行