mybatis sum函数返回为null的解决方式,格式化小数千分位的问题

    1.  在mysql语句中,如果sum本身汇总为null,需要设置为0,这样mybatis处理中就不会遇到空指针的错误,只要使用ifnull语句,设置一个默认值即可,如下:

 <!-- -2017年5月25日18:35:15 -->
	<select id="getMedicalExpenseStatis" resultType="Map">
	  SELECT count(*) meetCount,IFNULL(sum(c.fee),0.0) meetMoneySum
      from 
        (SELECT * from retire_infor
		) a 
		
        LEFT JOIN 
        
        (select * from retire_infor_visit rt  
		) c on
		
		a.retire_infor_id =c.retire_infor_id
      where a.receiptor=#{receiptor} and c.type =3 and  DATE_FORMAT(c.visitTime,'%Y-%m')=#{month}
	</select>


      2.在select语句中,使用到了avg进行算平均值的函数,但是要求保持两位小数,所以想当然了使用了Format函数,可在后台代码段,因为返回的map里面都是字符串,使用Double.parseDouble转换字符串就报错了,因为Format会对数字进行千分位处理,多了逗号",",后来发现可以使用select truncate(4545.1366,2);这个不会自动千分位处理,参考如下例子:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值