对于已存在的行,ifnull(参数0,参数1)函数对于参数0的值会进行判断。如果值为空,则返回参数1的值。
对于不存在的行,ifnull函数的结果总是null。
拿以下数据来举个例子:
|id|name|age|
|1 |小强 |8 |
|2 |小明 |7 |
|3 |小华 |null|
执行sql
select ifnull(age,0) from table_name where id=3;
将会返回0。
而执行sql
select ifnull(age,0) from table_name where id=4;
将会返回null。
要保证ifnull起作用,你必须保证你的查询结果是存在的。
如果一定要求sql有非空返回值,可以使用子查询:
select ifnull((select age from table_name where id=4),0);
IFNULL不起作用
最新推荐文章于 2023-01-03 16:47:04 发布