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();
最新文章
- js对象私有变量公有变量问题
- urllib下载文件
- 使用第三方工具覆写Object中方法
- NSBundle的使用,注意mainBundle和Custom Bundle的区别
- PHP魔术方法总结
- ssis的script task作业失败(调用外部dll)
- asp.net打印网页后自动关闭网页【无需插件】
- 开源内容管理系统Joomla正式发布3.5版本 基于PHP 7
- 201521123096《Java程序设计》第一周学习总结
- 为什么要学ADO.NET。。。什么是ADO.NET。。。
- Oracle完全复制表结构的存储过程
- Linux目录路径知识
- 常见微信小程序开发工具
- windows使用方法
- python之socket运用之传输大文件
- MVC扩展ActionInvoker,自定义ActionInvoker,根据请求数据返回不同视图
- 一线工程师带你深入学习和使用Kubernetes
- leecode刷题(20)-- 删除链表中的节点
- AndroidStudio刚開始学习的人
- node-sass安装失败的解决办法
热门文章
- stl-stack+括号配对问题
- 大型运输行业实战_day04_2_高级查询
- Spring AsyncRestTemplate
- Codeforces Beta Round#2
- [leetcode]347. Top K Frequent Elements 最高频的前K个元素
- fragment 事务回滚 ---动态创建fragment
- ROS学习笔记二(创建ROS软件包)
- SQL Cursor 基本用法[用两次FETCH NEXT FROM INTO语句?]
- 【转】MEF程序设计指南一:在应用程序中宿主MEF
- PAT 1035 插入与归并(25)(代码+思路+测试点分析)