IFNULL函數


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();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM