IFNULL函数的用法详情
一、概念
在mysql中IFNULL() 函数用于判断第一个表达式是否为 NULL,如果第一个值不为NULL就执行第一个值。第一个值为 NULL 则执行返回第二个参数的值。
二、语法
IFNULL(表达式1,表达式2)
如果(表达式1)查询的结果为空 或者字段为null,则执行并返回(表达式2)的结果或者是字段值。
如果(表达式1)执行结果不为空或者是null,则返回(表达式1)的执行结果或者是值。
示例
这里我准备了一张表
要求: 如果乡镇(字段)有数据,则只获取乡镇(字段)的数据。
如果乡镇没有数据,则获取区/县(字段)的数据。以此类推
select ifnull(字段1,字段2) as 别名 from 表
示例1
上面的sql只可以让我们对两个字段进行筛选,无法对两个以上的字段进行非空筛选。
所以我们就需要ifnull函数的嵌套查询了(重点)
select ifnull(ifnull(字段1,字段2),ifnull(字段1,字段2)) as 别名 from 表
示例2
使用ifnull()函数嵌套可以很轻松的解决上面的问题。