有如下表:
SELECT * FROM subtract_demo; +----+-------+----------+ | id | total | sale_num | +----+-------+----------+ | 1 | 10 | 1 | | 2 | 10 | NULL | +----+-------+----------+ 2 rows in set
使用如下查詢語句,查total減去sale_num的值,當sale_num為null時,total-sale_num的值也為null。
SELECT total-sale_num FROM subtract_demo ; +----------------+ | total-sale_num | +----------------+ | 9 | | NULL | +----------------+ 2 rows in set
解決思路:使用IFNULL函數,如下:
SELECT total-IFNULL(sale_num,0) FROM subtract_demo ; +--------------------------+ | total-IFNULL(sale_num,0) | +--------------------------+ | 9 | | 10 | +--------------------------+ 2 rows in set