sql语句中sum函数在计算的时候,如果需要计算的目标没有数据,会返回null。如果接收数据的时候使用的是int这样的基本数据类型,那么就会报错。
解决方法:
1.在sum函数外面包一层IFNULL函数
SELECT IFNULL(SUM(number),0) FROM abc
WHERE id IS NOT NULL AND startTime>=20230101 AND endTime<=20230505;
2.把基本数据类型换成包装类,如int->Integer。
这样可以避免出现奇怪的异常,还省心。