上代码
// 一个简单的统计金额的SQL
select
sum(tradeOrder.payment) as totalPayment
from j_trade_order tradeOrder
join j_trade_order_customer tradeOrderCustomer on tradeOrderCustomer.trade_id = tradeOrder.trade_id
where
tradeOrder.is_delete = 0 and tradeOrder.trade_from <> 6
如果数据库中tradeOrder.payment 这个字段没设置默认为0,就会产生空指针异常。查询数据库发现为null。
解决方案
// 使用 mysql ifnull函数对其进行判空操作
select
ifnull(sum(tradeOrder.payment),0) as totalPayment
from j_trade_order tradeOrder
join j_trade_order_customer tradeOrderCustomer on tradeOrderCustomer.trade_id = tradeOrder.trade_id
where
tradeOrder.is_delete = 0 and tradeOrder.trade_from <> 6 and tradeOrderCustomer.trade_id = 123
使用ifnull函数就可以解决这个问题。