比如有上面这张表,我们需要计算HANDLER_MIN-ASK_MIN=RETURN_MIN的值,而ASK-MIN这个字段默认为0,但是也有可能存null,而我们需要RETURN_MIN的值为数字传到页面,如果我们这样写sql:update tt_ticket set RETURN_MIN=RETURN_MIN + (HANDLER_MIN-ASK_MIN) where ticket_id =697;那么得到的结果是:
与我们预期的效果即RETURN_MIN为数字不同。我们可以使用IFNULL函数来实现,sql为:
update tt_ticket set RETURN_MIN=RETURN_MIN + (HANDLER_MIN-IFNULL(ASK_MIN,0)) where ticket_id =697; 结果为:
这样无论ASK_MIN的值为0还是null,我们都可以使RETURN_MIN的值为数字,可以顺利显示到页面。
总结:ifnull(x,y) 如果x不为null,则函数值为x,否则为y。