我的sql语句为
- SQL code
SELECT staff,AVG(IF((CompleteTime-ThirdDamageTime) IS NULL,86400,(CompleteTime-ThirdDamageTime))) as CTFROM Report WHERE 1=1
使用session.createSQLQuery(wheresql); 就会报错java.sql.SQLException: Column '' not found.
如果使用session.createQuery(wheresql) 就直接出现空指针异常
我该怎么解决啊?
------解决方案--------------------
MySQL 的 AVG 方法在找不到匹配的结果时就会返回NULL,可能
(CompleteTime-ThirdDamageTime) IS NULL 这句有点问题
要么分开检查是否是NULL,要么给一个差值 CompleteTime-ThirdDamageTime = 0 作为判断