MySQL-IFNULL()判断NULL取另一个值

提出问题

查询每个员工 sal 和 comm 的和:

select ename as 姓名,sal as 薪资,comm 奖金,sal+comm 月薪小计 from emp

执行结果:

当 comm 为 null 时,其和也是 null

分析

任何值与 null 做算术运算,结果都是 null

解决

遇到上面这种情况,要对 NULL 做处理

ifnull() 介绍

当列的值时 NULL 时,返回默认值,否则返回原值。

IFNULL(列名,默认值)

解决上面问题

查询各员工的月薪,sql修改如下:

select ename as 姓名,sal as 薪资,IFNULL(comm,0) 奖金,sal+IFNULL(comm,0) 月薪小计 from emp

结果如下:


原文出处:/show_1IXlTQ9mVLZ.html